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 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.

> 
> 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
> 






[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