sched, numa: Add NUMA_MIGRATION feature flag
Commit-ID: 496a3089b908c8c0beea77df9e753d24b1fa2237 Gitweb: http://git.kernel.org/tip/496a3089b908c8c0beea77df9e753d24b1fa2237 Author: Ingo Molnar <[email protected]> AuthorDate: Sat, 20 Oct 2012 22:20:19 +0200 Committer: Ingo Molnar <[email protected]> CommitDate: Tue, 23 Oct 2012 11:53:46 +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)