LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Alex Riesen <fork0@users.sourceforge.net>
Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>,
Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@osdl.org>
Subject: Re: 2.6.20-git13 kernel BUG at /mnt/md0/devel/linux-git/kernel/time/tick-sched.c:168
Date: Sat, 17 Feb 2007 16:14:17 +0100 [thread overview]
Message-ID: <1171725257.30834.120.camel@localhost.localdomain> (raw)
In-Reply-To: <20070217144752.GA2503@steel.home>
On Sat, 2007-02-17 at 15:47 +0100, Alex Riesen wrote:
> > > 164 if (need_resched())
> > > 165 goto end;
> > > 166
> > > 167 cpu = smp_processor_id();
> > > 168 BUG_ON(local_softirq_pending());
> >
> > Hmm, the BUG_ON is inside of an interrupt disabled region, so we should
> > have bailed out early in the need_resched() check above (because we are
> > in the idle task context according to the stack trace).
> >
> > Is this reproducible ?
>
> Seen this too (Ubuntu, P4/ht-SMT, SATA, typed from screen):
Can you please apply the patch below, so we can at least see, which
softirq is pending. This should trigger independently of hrtimers and
dynticks. You can keep it compiled in and disable it at the kernel
commandline with "nohz=off" and / or "highres=off"
tglx
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index bea304d..deeb90e 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -236,6 +236,11 @@ void cpu_idle(void)
* Otherwise, idle callbacks can misfire.
*/
local_irq_disable();
+ if (local_softirq_pending() && !need_resched())
+ printk(KERN_ERR
+ "Idle: local softirq pending: %04x",
+ local_softirq_pending());
+
enter_idle();
idle();
__exit_idle();
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 95e41f7..91d459f 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -165,7 +165,6 @@ void tick_nohz_stop_sched_tick(void)
goto end;
cpu = smp_processor_id();
- BUG_ON(local_softirq_pending());
now = ktime_get();
/*
next prev parent reply other threads:[~2007-02-17 15:09 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-16 20:38 Michal Piotrowski
2007-02-16 21:22 ` Thomas Gleixner
2007-02-16 21:24 ` Michal Piotrowski
[not found] ` <20070217144752.GA2503@steel.home>
2007-02-17 15:14 ` Thomas Gleixner [this message]
[not found] ` <20070217164652.GA2579@steel.home>
2007-02-17 18:24 ` Thomas Gleixner
2007-02-17 22:41 ` Michal Piotrowski
2007-02-18 8:41 ` Thomas Gleixner
[not found] ` <20070218095037.GA3408@steel.home>
2007-02-18 12:36 ` Thomas Gleixner
[not found] ` <20070218172410.GA2421@steel.home>
2007-02-19 1:00 ` Michal Piotrowski
2007-02-21 12:18 ` Michal Piotrowski
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=1171725257.30834.120.camel@localhost.localdomain \
--to=tglx@linutronix.de \
--cc=akpm@osdl.org \
--cc=fork0@users.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.k.k.piotrowski@gmail.com \
--cc=mingo@elte.hu \
--subject='Re: 2.6.20-git13 kernel BUG at /mnt/md0/devel/linux-git/kernel/time/tick-sched.c:168' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).