Re: [PATCH] mm: hugetlb_vmemmap: avoid allocation failure message in alloc_vmemmap_page_list()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Sep 6, 2023, at 15:22, Yuan Can <yuancan@xxxxxxxxxx> wrote:
> 
> 
> 在 2023/9/6 14:52, Muchun Song 写道:
>> 
>> 
>>> On Sep 6, 2023, at 14:34, Yuan Can <yuancan@xxxxxxxxxx> wrote:
>>> 
>>> When vmemmap pages allocation failed, the hugetlb pages fail to free,
>>> which is not an fatel error, so avoid the allocation failure report by
>>> passing __GFP_NOWARN in gfp_mask.
>>> 
>> You have misunderstand me and Mike. We mean the memory allocation
>> in vmemmap_remap_free() which also use __GFP_THISNODE, it has the
>> same issue as you fixed in another thread. But the failure of memory
>> allocation is not fetal. And it is better to remove __GFP_THISNODE
>> as well.
>> 
>> Thanks.
>> 
> Ok, sorry about this, I will send another patch to remove __GFP_THISNODE in
> vmemmap_remap_free, and I would like to know is it ok to add __GFP_NOWARN in
> alloc_vmemmap_page_list()?

Do not do this. We need a warning here.

Thanks.

> 
> Thanks.
> 
> 
>> 
>>> Suggested-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
>>> Suggested-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>
>>> Signed-off-by: Yuan Can <yuancan@xxxxxxxxxx>
>>> ---
>>> mm/hugetlb_vmemmap.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>> 
>>> diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c
>>> index 0485e471d224..3fa6b6e2bf45 100644
>>> --- a/mm/hugetlb_vmemmap.c
>>> +++ b/mm/hugetlb_vmemmap.c
>>> @@ -386,7 +386,7 @@ static int vmemmap_remap_free(unsigned long start, unsigned long end,
>>> static int alloc_vmemmap_page_list(unsigned long start, unsigned long end,
>>> struct list_head *list)
>>> {
>>> - gfp_t gfp_mask = GFP_KERNEL | __GFP_RETRY_MAYFAIL;
>>> + gfp_t gfp_mask = GFP_KERNEL | __GFP_RETRY_MAYFAIL | __GFP_NOWARN;
>>> unsigned long nr_pages = (end - start) >> PAGE_SHIFT;
>>> int nid = page_to_nid((struct page *)start);
>>> struct page *page, *next;
>>> -- 
>>> 2.17.1
>>> 
>>> 
>> 
> -- 
> Best regards,
> Yuan Can






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux