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

Robert Love (rml@tech9.net)
17 Sep 2002 14:47:22 -0400


On Tue, 2002-09-17 at 12:26, Ingo Molnar wrote:

> On Tue, 17 Sep 2002, Linus Torvalds wrote:
>
> > On the other hand, we do have other ways to test the preempt count
> > inside the scheduler. In particular, we might just move the
> > "in_atomic()" check a few lines downwards, at which point we've released
> > the kernel lock and explicitly disabled preemption, so at that point the
> > test should be even simpler with fewer conditionals..
>
> indeed ...

OK so do we want to do (a):

(moved down to after the preempt_disable() and release_kernel_lock())

if (likely(current->state != TASK_ZOMBIE)
if (unlikely((preempt_count() & ~PREEMPT_ACTIVE) != 1))
...

or go with (b) where we split schedule() into schedule(),
exit_schedule(), and do_schedule().

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/