From: Ingo Molnar <mingo@elte.hu>

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))))
 

_