mm/mempolicy: use policy_node helper with MPOL_PREFERRED_MANY

Started by Aneesh Kumar K.V on Dec 2, 2021

Subsystems (3)

Maintainers (4)

DORMANTno replies REVIEWED · 1 review, 1 by a maintainer

Status: Reviewed.

Revision v6 (4 revisions archived); 1 review trailer.

Revisions (4)
  1. v3
  2. v4 [diff against previous]
  3. v5 [diff against previous]
  4. v6 current [diff against previous]

open the first message on its own page

Message details and related content
A followup patch will enable setting a home node with MPOL_PREFERRED_MANY
memory policy. To facilitate that switch to using policy_node helper.
There is no functional change in this patch.

Cc: Ben Widawsky <redacted>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Feng Tang <redacted>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Andrea Arcangeli <redacted>
Cc: Mel Gorman <redacted>
Cc: Mike Kravetz <redacted>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Vlastimil Babka <redacted>
Cc: Andi Kleen <redacted>
Cc: Dan Williams <redacted>
Cc: Huang Ying <redacted>
Cc: <redacted>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Aneesh Kumar K.V <redacted>
---
 mm/mempolicy.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 10e9c87260ed..673b5fb13346 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2061,7 +2061,7 @@ static struct page *alloc_pages_preferred_many(gfp_t gfp, unsigned int order,
 	preferred_gfp &= ~(__GFP_DIRECT_RECLAIM | __GFP_NOFAIL);
 	page = __alloc_pages(preferred_gfp, order, nid, &pol->nodes);
 	if (!page)
-		page = __alloc_pages(gfp, order, numa_node_id(), NULL);
+		page = __alloc_pages(gfp, order, nid, NULL);
 
 	return page;
 }
@@ -2102,6 +2102,7 @@ struct page *alloc_pages_vma(gfp_t gfp, int order, struct vm_area_struct *vma,
 	}
 
 	if (pol->mode == MPOL_PREFERRED_MANY) {
+		node = policy_node(gfp, pol, node);
 		page = alloc_pages_preferred_many(gfp, order, node, pol);
 		mpol_cond_put(pol);
 		goto out;
@@ -2186,7 +2187,7 @@ struct page *alloc_pages(gfp_t gfp, unsigned order)
 		page = alloc_page_interleave(gfp, order, interleave_nodes(pol));
 	else if (pol->mode == MPOL_PREFERRED_MANY)
 		page = alloc_pages_preferred_many(gfp, order,
-				numa_node_id(), pol);
+				  policy_node(gfp, pol, numa_node_id()), pol);
 	else
 		page = __alloc_pages(gfp, order,
 				policy_node(gfp, pol, numa_node_id()),
-- 
2.31.1
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help