From: Ingo Molnar It makes hot-balancing happen in the 'busy tick' case as well, which should spread out processes more agressively. This could affect SMP scalability so it should be tested in isolation first. kernel/sched.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN kernel/sched.c~sched-hot-balancing-fix kernel/sched.c --- 25/kernel/sched.c~sched-hot-balancing-fix 2003-06-13 00:56:15.000000000 -0700 +++ 25-akpm/kernel/sched.c 2003-06-13 00:56:15.000000000 -0700 @@ -1033,7 +1033,7 @@ skip_queue: */ #define CAN_MIGRATE_TASK(p,rq,this_cpu) \ - ((jiffies - (p)->last_run > cache_decay_ticks) && \ + ((!idle || (jiffies - (p)->last_run > cache_decay_ticks)) && \ !task_running(rq, p) && \ ((p)->cpus_allowed & (1UL << (this_cpu)))) _