Commit 4fe2a810 authored by Kefeng Wang's avatar Kefeng Wang Committed by Andrew Morton
Browse files

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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Acked-by: default avatarOscar Salvador <osalvador@suse.de>
Reviewed-by: default avatarSidhartha Kumar <sidhartha.kumar@oracle.com>
Reviewed-by: default avatarJane Chu <jane.chu@oracle.com>
Reviewed-by: default avatarZi 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: default avatarAndrew Morton <akpm@linux-foundation.org>
parent dd4d324b
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -1479,8 +1479,6 @@ static struct folio *alloc_gigantic_folio(int order, gfp_t gfp_mask,
	struct folio *folio;
	bool retried = false;

	if (nid == NUMA_NO_NODE)
		nid = numa_mem_id();
retry:
	folio = hugetlb_cma_alloc_folio(order, gfp_mask, nid, nodemask);
	if (!folio) {
@@ -1942,8 +1940,6 @@ static struct folio *alloc_buddy_hugetlb_folio(int order, gfp_t gfp_mask,
		alloc_try_hard = false;
	if (alloc_try_hard)
		gfp_mask |= __GFP_RETRY_MAYFAIL;
	if (nid == NUMA_NO_NODE)
		nid = numa_mem_id();

	folio = (struct folio *)__alloc_frozen_pages(gfp_mask, order, nid, nmask);

@@ -1979,6 +1975,9 @@ static struct folio *only_alloc_fresh_hugetlb_folio(struct hstate *h,
	struct folio *folio;
	int order = huge_page_order(h);

	if (nid == NUMA_NO_NODE)
		nid = numa_mem_id();

	if (order_is_gigantic(order))
		folio = alloc_gigantic_folio(order, gfp_mask, nid, nmask);
	else