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

Robert Love
2002-09-16T23:10:11Z

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