Messages in this thread Patch in this message | | | Date | Fri, 25 Jan 2002 15:10:16 +0100 (CET) | From | Ingo Molnar <> | Subject | [patch] [sched] fork-fix 2.5.3-pre5 |
| |
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/
| |