[patch] [sched] fork-fix 2.5.3-pre5

From: Ingo Molnar (mingo@elte.hu)
Date: Fri Jan 25 2002 - 09:10:16 EST


the patch below fixes a fork() bug introduced by the new scheduler. If the
parent process schedules away and gets rebalanced to another CPU then
wake_up_forked_process() does runqueue manipulation incorrectly.

the crash was first reported by Robert Love, it happened with the
preemption patches applied. Later the crash was reproduced on the 2.4 +
O(1) kernel as well, using Cerberus.

        Ingo

--- linux/kernel/sched.c.orig Fri Jan 25 10:44:18 2002
+++ linux/kernel/sched.c Fri Jan 25 12:06:36 2002
@@ -275,6 +293,7 @@
                 p->prio = effective_prio(p);
         }
         spin_lock_irq(&rq->lock);
+ p->cpu = smp_processor_id();
         activate_task(p, rq);
         spin_unlock_irq(&rq->lock);
 }

-
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 : Thu Jan 31 2002 - 21:00:31 EST