summaryrefslogtreecommitdiffstats
path: root/mm/migrate.c
diff options
context:
space:
mode:
authorHillf Danton2012-11-27 15:46:24 +0100
committerMel Gorman2012-12-11 15:42:53 +0100
commitbac0382c6ad764156025978845147e5a6eccca09 (patch)
tree984dd0d7562c7641f742d7e659ba73c92e2c2d98 /mm/migrate.c
parentmm: numa: split_huge_page: Transfer last_nid on tail page (diff)
downloadkernel-qcow2-linux-bac0382c6ad764156025978845147e5a6eccca09.tar.gz
kernel-qcow2-linux-bac0382c6ad764156025978845147e5a6eccca09.tar.xz
kernel-qcow2-linux-bac0382c6ad764156025978845147e5a6eccca09.zip
mm: numa: migrate: Set last_nid on newly allocated page
Pass last_nid from misplaced page to newly allocated migration target page. Signed-off-by: Hillf Danton <dhillf@gmail.com> Signed-off-by: Mel Gorman <mgorman@suse.de>
Diffstat (limited to 'mm/migrate.c')
-rw-r--r--mm/migrate.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/migrate.c b/mm/migrate.c
index 32a1afca6009..2a5ce135eef0 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1457,6 +1457,9 @@ static struct page *alloc_misplaced_dst_page(struct page *page,
__GFP_NOMEMALLOC | __GFP_NORETRY |
__GFP_NOWARN) &
~GFP_IOFS, 0);
+ if (newpage)
+ page_xchg_last_nid(newpage, page_last_nid(page));
+
return newpage;
}