From: Ingo Molnar This very simple patch temporarily turns off the array-switching within the current scheduler. This yields an unfair scheduler (higher-prio CPU loops can starve lower-prio CPU loops indefinitely), but it gives us most of the benefits of a single array and gives us a chance to test the effects in isolation. It would be nice if people could test: basic interactivity and various SMP/NUMA workloads such as SDET. Signed-off-by: Andrew Morton --- 25-akpm/kernel/sched.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) diff -puN kernel/sched.c~sched-single-array kernel/sched.c --- 25/kernel/sched.c~sched-single-array 2004-08-06 02:53:01.127320168 -0700 +++ 25-akpm/kernel/sched.c 2004-08-06 03:12:16.015750440 -0700 @@ -2448,7 +2448,11 @@ void scheduler_tick(int user_ticks, int if (!rq->expired_timestamp) rq->expired_timestamp = jiffies; - if (!TASK_INTERACTIVE(p) || EXPIRED_STARVING(rq)) { + /* + * Disable array switching temporarily to investigate + * the effects (note that this doesnt guarantee fairness): + */ + if (0 && (!TASK_INTERACTIVE(p) || EXPIRED_STARVING(rq))) { enqueue_task(p, rq->expired); if (p->static_prio < rq->best_expired_prio) rq->best_expired_prio = p->static_prio; _