Re: [PATCH] BUG(): sched.c: Line 944

Robert Love (rml@tech9.net)
16 Sep 2002 19:15:09 -0400


On Mon, 2002-09-16 at 18:26, Linus Torvalds wrote:

> On 16 Sep 2002, Robert Love wrote:
> >
> > At least for now, can we please revert the check to in_interrupt() ?
>
> I really think the test is correct, and if we revert it now, we certainly
> won't be able to re-introduce it later when we're closer to 2.6.
>
> So if the in_atomic() change is enough to fix everything but do_exit(),
> then how about just making do_exit() use PREEMPT_ACTIVE instead?

Nope. If PREEMPT_ACTIVE is set, schedule() assumes the task is being
preempted and skips certain logic e.g. deactivate_task() (this is the
same code that lets us safely preempt a TASK_ZOMBIE).

Result is death before init even executes.

Ugh...

Robert Love

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