aboutsummaryrefslogtreecommitdiffstats
path: root/mm/migrate.c
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2013-10-07 06:29:20 -0400
committerIngo Molnar <mingo@kernel.org>2013-10-09 08:47:45 -0400
commit90572890d202527c366aa9489b32404e88a7c020 (patch)
tree0577f3b043e312f6d53e50105b236514f7df2455 /mm/migrate.c
parente1dda8a797b59d7ec4b17e393152ec3273a552d5 (diff)
mm: numa: Change page last {nid,pid} into {cpu,pid}
Change the per page last fault tracking to use cpu,pid instead of nid,pid. This will allow us to try and lookup the alternate task more easily. Note that even though it is the cpu that is store in the page flags that the mpol_misplaced decision is still based on the node. Signed-off-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Mel Gorman <mgorman@suse.de> Reviewed-by: Rik van Riel <riel@redhat.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Link: http://lkml.kernel.org/r/1381141781-10992-43-git-send-email-mgorman@suse.de [ Fixed build failure on 32-bit systems. ] Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'mm/migrate.c')
-rw-r--r--mm/migrate.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/migrate.c b/mm/migrate.c
index 025d1e3d2ad2..ff537749d3b4 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1498,7 +1498,7 @@ static struct page *alloc_misplaced_dst_page(struct page *page,
1498 __GFP_NOWARN) & 1498 __GFP_NOWARN) &
1499 ~GFP_IOFS, 0); 1499 ~GFP_IOFS, 0);
1500 if (newpage) 1500 if (newpage)
1501 page_nidpid_xchg_last(newpage, page_nidpid_last(page)); 1501 page_cpupid_xchg_last(newpage, page_cpupid_last(page));
1502 1502
1503 return newpage; 1503 return newpage;
1504} 1504}
@@ -1675,7 +1675,7 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm,
1675 if (!new_page) 1675 if (!new_page)
1676 goto out_fail; 1676 goto out_fail;
1677 1677
1678 page_nidpid_xchg_last(new_page, page_nidpid_last(page)); 1678 page_cpupid_xchg_last(new_page, page_cpupid_last(page));
1679 1679
1680 isolated = numamigrate_isolate_page(pgdat, page); 1680 isolated = numamigrate_isolate_page(pgdat, page);
1681 if (!isolated) { 1681 if (!isolated) {