From: Ingo Molnar <mingo@elte.hu>
To: Alexey Zaytsev <alexey.zaytsev@gmail.com>
Cc: Nick Piggin <npiggin@suse.de>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Laurent Riffard <laurent.riffard@free.fr>,
Kernel development list <linux-kernel@vger.kernel.org>
Subject: Re: next-20090107: WARNING: at kernel/sched.c:4435 sub_preempt_count
Date: Mon, 26 Jan 2009 15:43:13 +0100 [thread overview]
Message-ID: <20090126144313.GC4445@elte.hu> (raw)
In-Reply-To: <f19298770901241633l736801f6r760ef54883ca9c87@mail.gmail.com>
* Alexey Zaytsev <alexey.zaytsev@gmail.com> wrote:
> On Wed, Jan 14, 2009 at 05:00, Nick Piggin <npiggin@suse.de> wrote:
> > On Sun, Jan 11, 2009 at 03:49:45AM +0100, Ingo Molnar wrote:
> >>
> >> * Alexey Zaytsev <alexey.zaytsev@gmail.com> 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@yahoo.com.au>
> >> > 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?
> >
>
> Hi again.
>
> Finally got to debug this. The preempt count on the first __do_softirq entry
> ever is 0, as it is set in irq_ctx_init(). The interrupted swapper
> thread happens
> to be in the kernel_locked() state at the moment, so the warning.
>
> I don't understand why the softirq preempt count is initialized to 0.
> Should not it be SOFTIRQ_OFFSET instead?
hm, indeed. So this triggers on irqstacks, if an irq happens to hit the
first time a softirq executes (ever)? After that point the preempt_count
in the irq-stack ought to stay elevated.
Ingo
next prev parent reply other threads:[~2009-01-26 14:43 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-08 23:17 next-20090107: WARNING: at kernel/sched.c:4435 sub_preempt_count Laurent Riffard
2009-01-09 10:09 ` Alexey Zaytsev
2009-01-11 2:49 ` Ingo Molnar
2009-01-14 2:00 ` Nick Piggin
2009-01-18 18:22 ` Alexey Zaytsev
2009-01-18 18:24 ` Ingo Molnar
2009-01-18 18:24 ` Alexey Zaytsev
2009-01-25 0:33 ` Alexey Zaytsev
2009-01-26 14:43 ` Ingo Molnar [this message]
2009-01-26 14:53 ` Alexey Zaytsev
2009-01-26 15:09 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090126144313.GC4445@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=alexey.zaytsev@gmail.com \
--cc=laurent.riffard@free.fr \
--cc=linux-kernel@vger.kernel.org \
--cc=npiggin@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.