Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mm: hugeltb: check NUMA_NO_NODE in only_alloc_fresh_hugetlb_folio()

Move the NUMA_NO_NODE check out of buddy and gigantic folio allocation to
cleanup code a bit, also this will avoid NUMA_NO_NODE passed as 'nid' to
node_isset() in alloc_buddy_hugetlb_folio().

Link: https://lkml.kernel.org/r/20250910133958.301467-6-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Acked-by: Oscar Salvador <osalvador@suse.de>
Reviewed-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Reviewed-by: Jane Chu <jane.chu@oracle.com>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Cc: Brendan Jackman <jackmanb@google.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Kefeng Wang and committed by
Andrew Morton
4fe2a810 dd4d324b

+3 -4
+3 -4
mm/hugetlb.c
··· 1479 1479 struct folio *folio; 1480 1480 bool retried = false; 1481 1481 1482 - if (nid == NUMA_NO_NODE) 1483 - nid = numa_mem_id(); 1484 1482 retry: 1485 1483 folio = hugetlb_cma_alloc_folio(order, gfp_mask, nid, nodemask); 1486 1484 if (!folio) { ··· 1940 1942 alloc_try_hard = false; 1941 1943 if (alloc_try_hard) 1942 1944 gfp_mask |= __GFP_RETRY_MAYFAIL; 1943 - if (nid == NUMA_NO_NODE) 1944 - nid = numa_mem_id(); 1945 1945 1946 1946 folio = (struct folio *)__alloc_frozen_pages(gfp_mask, order, nid, nmask); 1947 1947 ··· 1974 1978 { 1975 1979 struct folio *folio; 1976 1980 int order = huge_page_order(h); 1981 + 1982 + if (nid == NUMA_NO_NODE) 1983 + nid = numa_mem_id(); 1977 1984 1978 1985 if (order_is_gigantic(order)) 1979 1986 folio = alloc_gigantic_folio(order, gfp_mask, nid, nmask);