[PATCH][2.5] Don't wake up tasks on offline processors

From: Zwane Mwaikambo (zwane@holomorphy.com)
Date: Mon Feb 17 2003 - 03:12:56 EST


This patch stops waking up of tasks onto offline processors. We need this
when migrating tasks from offline processors onto other online ones and to
avert a livelock whilst doing so.

Index: linux-2.5.61-trojan/kernel/sched.c
===================================================================
RCS file: /build/cvsroot/linux-2.5.61/kernel/sched.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 sched.c
--- linux-2.5.61-trojan/kernel/sched.c 15 Feb 2003 12:32:44 -0000 1.1.1.1
+++ linux-2.5.61-trojan/kernel/sched.c 15 Feb 2003 16:04:51 -0000
@@ -465,7 +473,8 @@
                          * Fast-migrate the task if it's not running or runnable
                          * currently. Do not violate hard affinity.
                          */
- if (unlikely(sync && !task_running(rq, p) &&
+ if (likely(cpu_online(smp_processor_id())) &&
+ unlikely(sync && !task_running(rq, p) &&
                                 (task_cpu(p) != smp_processor_id()) &&
                                 (p->cpus_allowed & (1UL << smp_processor_id())))) {
 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Feb 23 2003 - 22:00:16 EST