summaryrefslogtreecommitdiff
path: root/mm/migrate.c
diff options
context:
space:
mode:
authorHillf Danton <dhillf@gmail.com>2012-11-27 14:46:24 +0000
committerMel Gorman <mgorman@suse.de>2012-12-11 14:42:53 +0000
commitbac0382c6ad764156025978845147e5a6eccca09 (patch)
tree984dd0d7562c7641f742d7e659ba73c92e2c2d98 /mm/migrate.c
parent5aa80374a10567f8e25de0615d3d40f3aa3a4298 (diff)
downloadlinux-stable-bac0382c6ad764156025978845147e5a6eccca09.tar.gz
linux-stable-bac0382c6ad764156025978845147e5a6eccca09.tar.bz2
linux-stable-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;
}