mm: numa: Migrate pages handled during a pmd_numa hinting fault
authorMel Gorman <mgorman@suse.de>
Thu, 15 Nov 2012 01:24:32 +0000 (01:24 +0000)
committerMel Gorman <mgorman@suse.de>
Tue, 11 Dec 2012 14:42:49 +0000 (14:42 +0000)
commit9532fec118d485ea37ab6e3ea372d68cd8b4cd0d
tree5076f3da1ff244df554e99b8701749423a6b92ad
parent5606e3877ad8baea42f3a71ebde0a03622bbb551
mm: numa: Migrate pages handled during a pmd_numa hinting fault

To say that the PMD handling code was incorrectly transferred from autonuma
is an understatement. The intention was to handle a PMDs worth of pages
in the same fault and effectively batch the taking of the PTL and page
migration. The copied version instead has the impact of clearing a number
of pte_numa PTE entries and whether any page migration takes place depends
on racing. This just happens to work in some cases.

This patch handles pte_numa faults in batch when a pmd_numa fault is
handled. The pages are migrated if they are currently misplaced.
Essentially this is making an assumption that NUMA locality is
on a PMD boundary but that could be addressed by only setting
pmd_numa if all the pages within that PMD are on the same node
if necessary.

Signed-off-by: Mel Gorman <mgorman@suse.de>
mm/memory.c
mm/mprotect.c