sched, numa: Add NUMA_MIGRATION feature flag
Commit-ID: aef6f4048d7467d2d805c6c9edc6dab37597becb Gitweb: http://git.kernel.org/tip/aef6f4048d7467d2d805c6c9edc6dab37597becb Author: Ingo Molnar <[email protected]> AuthorDate: Sat, 20 Oct 2012 22:20:19 +0200 Committer: Ingo Molnar <[email protected]> CommitDate: Sun, 21 Oct 2012 14:40:41 +0200
sched, numa: Add NUMA_MIGRATION feature flag
After this patch, doing:
# echo NO_NUMA_MIGRATION > /sys/kernel/debug/sched_features
Will turn off the NUMA placement logic/policy - but keeps the working set sampling faults in place.
This allows the debugging of the WSS facility, by using it but keeping vanilla, non-NUMA CPU and memory placement policies.
Default enabled. Generates on extra code on !CONFIG_SCHED_DEBUG.
Signed-off-by Ingo Molnar <[email protected]>
Cc Linus Torvalds <[email protected]>
Cc Andrew Morton <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Andrea Arcangeli <[email protected]>
Cc Rik van Riel <[email protected]>
--- kernel/sched/core.c | 3 +++ kernel/sched/features.h | 3 +++ 2 files changed, 6 insertions(+), 0 deletions(-)
kernel/sched/core.c +3 -0
@@ -6002,6 +6002,9 @@ void sched_setnode(struct task_struct *p, int node)int on_rq, running;struct rq *rq; +if (!sched_feat (NUMA_MIGRATION )) +return ; + rq =task_rq_lock (p, &flags); on_rq = p->on_rq; running =task_current (rq, p);
kernel/sched/features.h +3 -0
@@ -63,7 +63,10 @@ SCHED_FEAT(RT_RUNTIME_SHARE, true) SCHED_FEAT(LB_MIN, false)#ifdef CONFIG_SCHED_NUMA +/* Do the working set probing faults: */ SCHED_FEAT (NUMA , true) +/* Do actual migration/placement based on the working set information: */ +SCHED_FEAT(NUMA_MIGRATION, true) SCHED_FEAT(NUMA_HOT, true) SCHED_FEAT(NUMA_TTWU_BIAS, false)SCHED_FEAT (NUMA_TTWU_TO , false)