mm: numa: Add THP migration for the NUMA working set scanning fault case.
authorMel Gorman <mgorman@suse.de>
Mon, 19 Nov 2012 12:35:47 +0000 (12:35 +0000)
committerMel Gorman <mgorman@suse.de>
Tue, 11 Dec 2012 14:42:57 +0000 (14:42 +0000)
commitb32967ff101a7508f70be8de59b278d4df92fa00
treeb106d5eea06f97d0174f483d6a05a8b7ddd64154
parent5bca23035391928c4c7301835accca3551b96cc2
mm: numa: Add THP migration for the NUMA working set scanning fault case.

Note: This is very heavily based on a patch from Peter Zijlstra with
fixes from Ingo Molnar, Hugh Dickins and Johannes Weiner.  That patch
put a lot of migration logic into mm/huge_memory.c where it does
not belong. This version puts tries to share some of the migration
logic with migrate_misplaced_page.  However, it should be noted
that now migrate.c is doing more with the pagetable manipulation
than is preferred. The end result is barely recognisable so as
before, the signed-offs had to be removed but will be re-added if
the original authors are ok with it.

Add THP migration for the NUMA working set scanning fault case.

It uses the page lock to serialize. No migration pte dance is
necessary because the pte is already unmapped when we decide
to migrate.

[dhillf@gmail.com: Fix memory leak on isolation failure]
[dhillf@gmail.com: Fix transfer of last_nid information]
Signed-off-by: Mel Gorman <mgorman@suse.de>
include/linux/migrate.h
mm/huge_memory.c
mm/internal.h
mm/memcontrol.c
mm/migrate.c