[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250528111038.18378-2-wangchuanguo@inspur.com>
Date: Wed, 28 May 2025 19:10:37 +0800
From: wangchuanguo <wangchuanguo@...pur.com>
To: <akpm@...ux-foundation.org>, <hannes@...xchg.org>, <sj@...nel.org>
CC: <david@...hat.com>, <mhocko@...nel.org>, <zhengqi.arch@...edance.com>,
<shakeel.butt@...ux.dev>, <lorenzo.stoakes@...cle.com>, <linux-mm@...ck.org>,
<linux-kernel@...r.kernel.org>, <damon@...ts.linux.dev>, wangchuanguo
<wangchuanguo@...pur.com>
Subject: [PATCH 1/2] mm: migrate: restore the nmask after successfully allocating on the target node
If memory is successfully allocated on the target node and the
function directly returns without value restore for nmask,
non-first migration operations in migrate_pages() by again label
may ignore the nmask settings, thereby allowing new memory
allocations for migration on any node.
Signed-off-by: wangchuanguo <wangchuanguo@...pur.com>
---
mm/vmscan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index f8dfd2864bbf..e13f17244279 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1035,11 +1035,11 @@ struct folio *alloc_migrate_folio(struct folio *src, unsigned long private)
mtc->nmask = NULL;
mtc->gfp_mask |= __GFP_THISNODE;
dst = alloc_migration_target(src, (unsigned long)mtc);
+ mtc->nmask = allowed_mask;
if (dst)
return dst;
mtc->gfp_mask &= ~__GFP_THISNODE;
- mtc->nmask = allowed_mask;
return alloc_migration_target(src, (unsigned long)mtc);
}
--
2.39.3
Powered by blists - more mailing lists