[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b79375495beb782aabcf4b9e57d6ebd000edcf47.camel@amazon.co.uk>
Date: Tue, 3 Nov 2020 16:10:23 +0000
From: "Woodhouse, David" <dwmw@...zon.co.uk>
To: "tglx@...utronix.de" <tglx@...utronix.de>,
"oliver.sang@...el.com" <oliver.sang@...el.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"lkp@...ts.01.org" <lkp@...ts.01.org>,
"lkp@...el.com" <lkp@...el.com>, "x86@...nel.org" <x86@...nel.org>
Subject: Re: [x86/ioapic] b643128b91: Kernel panic - not syncing: timer doesn't work
through Interrupt-remapped IO-APIC
On Tue, 2020-11-03 at 16:22 +0100, Thomas Gleixner wrote:
> Hi!
>
> On Tue, Nov 03 2020 at 22:31, lkp wrote:
> > FYI, we noticed the following commit (built with gcc-9):
> >
> > commit: b643128b917ca8f1c8b1e14af64ebdc81147b2d1 ("x86/ioapic: Use
> > irq_find_matching_fwspec() to find remapping irqdomain")
> >
> > [ 3.148819] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
> > [ 3.154825] DMAR: DRHD: handling fault status reg 2
> > [ 3.159701] DMAR: [INTR-REMAP] Request device [f0:1f.7] fault
> > index 0 [fault reason 37] Blocked a compatibility format interrupt
> > request
> > [ 3.173870] Kernel panic - not syncing: timer doesn't work
> > through Interrupt-remapped IO-APIC
> > [ 3.182381] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.0-
> > rc1-00029-gb643128b917c #1
> > [ 3.190370] Hardware name: Supermicro SYS-5018D-FN4T/X10SDV-8C-
> > TLN4F, BIOS 1.1 03/02/2016
> > [ 3.198534] Call Trace:
> > [ 3.200983] dump_stack+0x57/0x6a
> > [ 3.204298] panic+0x102/0x2d2
> > [ 3.207349] panic_if_irq_remap.cold+0x5/0x5
> > [ 3.211613] check_timer+0x1f6/0x694
> > [ 3.215184] ? printk+0x58/0x6f
> > [ 3.218320] setup_IO_APIC+0x17b/0x1c3
> > [ 3.222067] x86_late_time_init+0x20/0x30
> > [ 3.226077] start_kernel+0x40c/0x4c7
> > [ 3.229734] secondary_startup_64_no_verify+0xb8/0xbb
>
> It's not reproducing here. Can you please redo the test with
> apic=verbose on the kernel command line and provide the full dmesg
> output?
Ah, it already had apic=debug; sorry. I was looking for the IRTE setup
messages, which clearly aren't there which is why it was generating
compatibility format interrupts.
It's probably this. Will try harder to reproduce to confirm...
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -2335,7 +2335,7 @@ static int mp_irqdomain_create(int ioapic)
if (cfg->dev) {
fn = of_node_to_fwnode(cfg->dev);
} else {
- fn = irq_domain_alloc_named_id_fwnode("IO-APIC", ioapic);
+ fn = irq_domain_alloc_named_id_fwnode("IO-APIC", mpc_ioapic_id(ioapic));
if (!fn)
return -ENOMEM;
}
Amazon Development Centre (London) Ltd. Registered in England and Wales with registration number 04543232 with its registered office at 1 Principal Place, Worship Street, London EC2A 2FA, United Kingdom.
Powered by blists - more mailing lists