From: Andrew Theurer <habanero@us.ibm.com>

This change:
http://linux.bkbits.net:8080/linux-2.5/diffs/kernel/sched.c@1.202

does not seem to make sense:

#define CAN_MIGRATE_TASK(p,rq,this_cpu)					\
	((!idle || (jiffies - (p)->last_run > cache_decay_ticks)) &&    \
		!task_running(rq, p) &&					\
			cpu_isset(this_cpu, (p)->cpus_allowed))

It should be just the opposite; an idle cpu should be able to have a more 
aggressive steal, and a busy cpu should not.



 kernel/sched.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN kernel/sched.c~sched-CAN_MIGRATE_TASK-fix kernel/sched.c
--- 25/kernel/sched.c~sched-CAN_MIGRATE_TASK-fix	2003-08-28 09:07:36.000000000 -0700
+++ 25-akpm/kernel/sched.c	2003-08-28 09:07:36.000000000 -0700
@@ -1063,7 +1063,7 @@ skip_queue:
 	 */
 
 #define CAN_MIGRATE_TASK(p,rq,this_cpu)					\
-	((!idle || (jiffies - (p)->last_run > cache_decay_ticks)) &&	\
+	((idle || (jiffies - (p)->last_run > cache_decay_ticks)) &&	\
 		!task_running(rq, p) &&					\
 			cpu_isset(this_cpu, (p)->cpus_allowed))
 

_