From: ebiederm@xmission.com (Eric W. Biederman)
To: Muli Ben-Yehuda <muli@il.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Rajesh Shah <rajesh.shah@intel.com>, Andi Kleen <ak@muc.de>,
"Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com>,
"Luck, Tony" <tony.luck@intel.com>, Andrew Morton <akpm@osdl.org>,
Linus Torvalds <torvalds@osdl.org>,
Linux-Kernel <linux-kernel@vger.kernel.org>,
Badari Pulavarty <pbadari@gmail.com>
Subject: Re: 2.6.19-rc1 genirq causes either boot hang or "do_IRQ: cannot handle IRQ -1"
Date: Fri, 06 Oct 2006 11:47:12 -0600 [thread overview]
Message-ID: <m1d5951gm7.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20061006155021.GE14186@rhun.haifa.ibm.com> (Muli Ben-Yehuda's message of "Fri, 6 Oct 2006 17:50:21 +0200")
Muli Ben-Yehuda <muli@il.ibm.com> writes:
> On Fri, Oct 06, 2006 at 09:14:53AM -0600, Eric W. Biederman wrote:
>
>> Muli Ben-Yehuda <muli@il.ibm.com> writes:
>
> In some cases we haven't made it to userspace at all. In other, we're
> in the initrd.
Ok. So no irqbalanced?
Any non-standard firmware on this box like a hypervisor or weird APM
code that could be causing problems.
I'm just trying to think of things that might trip over a change in
irq handling, besides a chipset.
I want to suspect the irq migration code but it doesn't look like
irqbalanced has started at all so irq migration doesn't appear to be
happening.
>> Seeing the failure case is really weird because this early in boot
>> everything should be routed to cpu 0.
>>
>> What happens if you boot with max_cpus=1?
>
> Trying it now... woohoo, it boots all the way and stays up!
Cool. So this is clearly about irqs being delivered to multiple
cpus, and getting getting the delivery messed up for some reason.
>> If simple tests don't reveal what is going on then we will
>> have to instrument up that BUG and print out the per
>> cpu vector to irq tables, the cpu number, and the vector
>> the unexpected irq came in on.
>
> I'm certainly game for any debugging you have in mind - this is my
> main Calgary development machine so getting it booting is a pretty
> high priority :-)
Sure. Anything that breaks irqs for 2.6.19 is clearly a big problem.
Can you try the debug patch below and tell me what it reports.
As long as the problem irq is not for something important this
should allow you to boot, and just collect the information.
What I am hoping is that we will see which irq or irqs are having
problems. Then we can check out how the irq controller for those
irq are programmed.
Eric
diff --git a/arch/x86_64/kernel/irq.c b/arch/x86_64/kernel/irq.c
index 506f27c..0bd4281 100644
--- a/arch/x86_64/kernel/irq.c
+++ b/arch/x86_64/kernel/irq.c
@@ -113,9 +113,20 @@ asmlinkage unsigned int do_IRQ(struct pt
irq = __get_cpu_var(vector_irq)[vector];
if (unlikely(irq >= NR_IRQS)) {
- printk(KERN_EMERG "%s: cannot handle IRQ %d\n",
- __FUNCTION__, irq);
- BUG();
+ if (printk_ratelimit()) {
+ int cpu, vec;
+ printk(KERN_EMERG "%s: cannot handle IRQ %d vector: %d cpu: %d\n",
+ __FUNCTION__, irq, vector, smp_processor_id());
+ for_each_online_cpu(cpu) {
+ for (vec = 0; vec < NR_VECTORS; vec++) {
+ irq = per_cpu(vector_irq, cpu);
+ printk(KERN_DEBUG "vector_irq[%d][%d] -> %d\n",
+ cpu, vec, irq);
+ }
+ }
+ }
+ irq_exit();
+ return 1;
}
#ifdef CONFIG_DEBUG_STACKOVERFLOW
next prev parent reply other threads:[~2006-10-06 17:49 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-05 21:22 Muli Ben-Yehuda
2006-10-06 15:14 ` Eric W. Biederman
2006-10-06 15:50 ` Muli Ben-Yehuda
2006-10-06 16:20 ` Muli Ben-Yehuda
2006-10-06 19:00 ` Andrew Vasquez
2006-10-06 19:42 ` Andrew Morton
2006-10-06 20:02 ` Andrew Vasquez
2006-10-06 20:15 ` Linus Torvalds
2006-10-06 20:18 ` Andrew Morton
2006-10-06 20:42 ` Muli Ben-Yehuda
2006-10-06 20:14 ` Linus Torvalds
2006-10-06 19:53 ` Benjamin LaHaise
2006-10-06 17:47 ` Eric W. Biederman [this message]
2006-10-06 20:23 ` Muli Ben-Yehuda
2006-10-06 23:42 ` Eric W. Biederman
2006-10-07 8:03 ` Muli Ben-Yehuda
2006-10-07 16:52 ` Eric W. Biederman
2006-10-07 17:59 ` Muli Ben-Yehuda
2006-10-08 13:39 ` [PATCH 0/3] x86_64 irq fixes Eric W. Biederman
2006-10-08 13:41 ` [PATCH 1/3] i386/x86_64: FIX pci_enable_irq to set dev->irq to the irq number Eric W. Biederman
2006-10-08 13:43 ` [PATCH 2/3] i386/x86_64: Remove global IO_APIC_VECTOR Eric W. Biederman
2006-10-08 13:47 ` [PATCH 3/3] x86_64 irq: Allocate a vector across all cpus for genapic_flat Eric W. Biederman
2006-10-08 19:01 ` Muli Ben-Yehuda
2006-10-08 18:59 ` [PATCH 0/3] x86_64 irq fixes Muli Ben-Yehuda
2006-10-07 19:03 ` 2.6.19-rc1 genirq causes either boot hang or "do_IRQ: cannot handle IRQ -1" Linus Torvalds
2006-10-07 19:33 ` Arjan van de Ven
2006-10-07 19:57 ` Linus Torvalds
2006-10-09 6:06 ` Eric W. Biederman
2006-10-09 7:40 ` Arjan van de Ven
2006-10-09 14:46 ` Eric W. Biederman
2006-10-09 15:28 ` Protasevich, Natalie
2006-10-09 15:39 ` Arjan van de Ven
2006-10-09 16:02 ` 2.6.19-rc1 genirq causes either boot hang or "do_IRQ: cannothandle " Protasevich, Natalie
2006-10-07 20:24 ` 2.6.19-rc1 genirq causes either boot hang or "do_IRQ: cannot handle " Eric W. Biederman
2006-10-06 16:02 ` Linus Torvalds
2006-10-06 17:22 ` Eric W. Biederman
2006-10-06 18:08 ` Linus Torvalds
2006-10-06 18:48 ` Eric W. Biederman
2006-10-09 5:41 ` [PATCH 1/1] x86_64 irq: Scream but don't die if we receive an unexpected irq Eric W. Biederman
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=m1d5951gm7.fsf@ebiederm.dsl.xmission.com \
--to=ebiederm@xmission.com \
--cc=Natalie.Protasevich@UNISYS.com \
--cc=ak@muc.de \
--cc=akpm@osdl.org \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=muli@il.ibm.com \
--cc=pbadari@gmail.com \
--cc=rajesh.shah@intel.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=torvalds@osdl.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome