aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched/fair.c
diff options
context:
space:
mode:
authorMel Gorman <mgorman@suse.de>2013-10-07 06:29:09 -0400
committerIngo Molnar <mingo@kernel.org>2013-10-09 06:40:38 -0400
commitfc3147245d193bd0f57307859c698fa28a20b0fe (patch)
treed1c6339ab156fc1f1419fe62164dfd1947cec14d /kernel/sched/fair.c
parent6fe6b2d6dabf392aceb3ad3a5e859b46a04465c6 (diff)
mm: numa: Limit NUMA scanning to migrate-on-fault VMAs
There is a 90% regression observed with a large Oracle performance test on a 4 node system. Profiles indicated that the overhead was due to contention on sp_lock when looking up shared memory policies. These policies do not have the appropriate flags to allow them to be automatically balanced so trapping faults on them is pointless. This patch skips VMAs that do not have MPOL_F_MOF set. [riel@redhat.com: Initial patch] Signed-off-by: Mel Gorman <mgorman@suse.de> Reported-and-tested-by: Joe Mario <jmario@redhat.com> 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> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1381141781-10992-32-git-send-email-mgorman@suse.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched/fair.c')
-rw-r--r--kernel/sched/fair.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 61ec0d4765b9..d98175d5c2c6 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1130,7 +1130,7 @@ void task_numa_work(struct callback_head *work)
1130 vma = mm->mmap; 1130 vma = mm->mmap;
1131 } 1131 }
1132 for (; vma; vma = vma->vm_next) { 1132 for (; vma; vma = vma->vm_next) {
1133 if (!vma_migratable(vma)) 1133 if (!vma_migratable(vma) || !vma_policy_mof(p, vma))
1134 continue; 1134 continue;
1135 1135
1136 do { 1136 do {