From: Ingo Molnar <mingo@xxxxxxxxxx> 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 <mingo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> --- kernel/sched/core.c | 3 +++ kernel/sched/features.h | 3 +++ 2 files changed, 6 insertions(+) Index: tip/kernel/sched/core.c =================================================================== --- tip.orig/kernel/sched/core.c +++ tip/kernel/sched/core.c @@ -6002,6 +6002,9 @@ void sched_setnode(struct task_struct *p 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); Index: tip/kernel/sched/features.h =================================================================== --- tip.orig/kernel/sched/features.h +++ tip/kernel/sched/features.h @@ -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) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>