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

From: Robert Love (
Date: Tue Sep 17 2002 - 13:27:52 EST

On Tue, 2002-09-17 at 05:57, Ingo Molnar wrote:

> We *must* use the schedule() check to debug preemption bugs, or we wont
> have usable preemption in 2.6, i dont really understand why your are not
> happy that we have such a great tool. In fact we should also add other
> debugging bits, like 'check for !0 preemption count in smp_processor_id()'
> , and the underflow checks that caught the IDE bug. These are all bits
> that help the elimination of preemption bugs which are also often SMP
> bugs, on plain UP boxes.

Hm, sorry if I sound like I do not want something "so great". I do. I
just do not ever want to compromise the existing code... I would much
prefer to say "wow we cannot do this cleanly now, let's wait until we
figure out a clean way".

Anyhow, one of us is confused. How can this in_atomic() test _ever_
catch a preemption bug? We cannot enter the scheduler off kernel
preemption unless preempt_count==0. This is a test to catch bugs in
other parts of the kernel, e.g. where code explicitly calls schedule()
while holding a lock.

        Robert Love

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Sep 23 2002 - 22:00:19 EST