mm: numa: Support NUMA hinting page faults from gup/gup_fast
authorAndrea Arcangeli <aarcange@redhat.com>
Fri, 5 Oct 2012 19:36:27 +0000 (21:36 +0200)
committerMel Gorman <mgorman@suse.de>
Tue, 11 Dec 2012 14:42:37 +0000 (14:42 +0000)
commit0b9d705297b273657923518dbea2377cd03532ed
tree9049d172d6fcd71790a4689c7fed62a912516265
parentbe3a728427a605990a7a0b6dbf9e29b68e266146
mm: numa: Support NUMA hinting page faults from gup/gup_fast

Introduce FOLL_NUMA to tell follow_page to check
pte/pmd_numa. get_user_pages must use FOLL_NUMA, and it's safe to do
so because it always invokes handle_mm_fault and retries the
follow_page later.

KVM secondary MMU page faults will trigger the NUMA hinting page
faults through gup_fast -> get_user_pages -> follow_page ->
handle_mm_fault.

Other follow_page callers like KSM should not use FOLL_NUMA, or they
would fail to get the pages if they use follow_page instead of
get_user_pages.

[ This patch was picked up from the AutoNUMA tree. ]

Originally-by: Andrea Arcangeli <aarcange@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Rik van Riel <riel@redhat.com>
[ ported to this tree. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Rik van Riel <riel@redhat.com>
include/linux/mm.h
mm/memory.c