Re: next-20090107: WARNING: at kernel/sched.c:4435 sub_preempt_count

From: Nick Piggin
Date: Tue Jan 13 2009 - 21:00:57 EST


On Sun, Jan 11, 2009 at 03:49:45AM +0100, Ingo Molnar wrote:
>
> * Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx> wrote:
>
> > One more instance of http://marc.info/?l=linux-kernel&m=123134586202636&w=2
> > Added Ingo Molnar to CC.
>
> added Nick on Cc:. Nick, it's about:
>
> > commit 7317d7b87edb41a9135e30be1ec3f7ef817c53dd
> > Author: Nick Piggin <nickpiggin@xxxxxxxxxxxx>
> > Date: Tue Sep 30 20:50:27 2008 +1000
> >
> > sched: improve preempt debugging
>
> causing a seemingly spurious warning.

I don't know how it is spurious... Presumably the sequence _would_ have
caused preempt count to go negative if the bkl were not held...

__do_softirq does a __local_bh_disable on entry, and it seems like the
_local_bh_enable on exit is what causes this warning. So something is
unbalanced somehow. Or is it some weird thing we do in early boot that
I am missing?

Can you put in some printks around these functions in early boot to
get an idea of what preempt_count is doing?



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/