sched/numa: Count pages on active node as local
authorRik van Riel <riel@redhat.com>
Fri, 11 Apr 2014 17:00:27 +0000 (13:00 -0400)
committerIngo Molnar <mingo@kernel.org>
Wed, 7 May 2014 11:33:45 +0000 (13:33 +0200)
commit792568ec6a31ca560ca4d528782cbc6cd2cea8b0
treef5a0b25a3dcce51c3e4850d82071bbb9e73ec7f7
parent2fe5de9ce7d57498abc14b375cad2fcf8c3ee6cc
sched/numa: Count pages on active node as local

The NUMA code is smart enough to distribute the memory of workloads
that span multiple NUMA nodes across those NUMA nodes.

However, it still has a pretty high scan rate for such workloads,
because any memory that is left on a node other than the node of
the CPU that faulted on the memory is counted as non-local, which
causes the scan rate to go up.

Counting the memory on any node where the task's numa group is
actively running as local, allows the scan rate to slow down
once the application is settled in.

This should reduce the overhead of the automatic NUMA placement
code, when a workload spans multiple NUMA nodes.

Signed-off-by: Rik van Riel <riel@redhat.com>
Tested-by: Vinod Chegu <chegu_vinod@hp.com>
Acked-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1397235629-16328-2-git-send-email-riel@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/fair.c