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]

 




在 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()?

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