[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <201002011559.07869.trenn@suse.de>
Date: Mon, 1 Feb 2010 15:59:07 +0100
From: Thomas Renninger <trenn@...e.de>
To: linux-kernel@...r.kernel.org
Cc: yinghai@...nel.org, jbarnes@...tuousgeek.org,
akpm@...ux-foundation.org, mingo@...e.hu
Subject: IRQ regression messes up xseries 330 SCI resulting in apic=off - bisected to commit b9c61b70075c87a861262473
Hi,
booting a latest kernel on this machine results in:
PCI: PCI BIOS revision 2.10 entry at 0xfd61c, last bus=1
PCI: Using configuration type 1 for base access bio: create slab <bio-0> at 0
ACPI: SCI (IRQ30) allocation failed
ACPI Exception: AE_NOT_ACQUIRED, Unable to install System Control Interrupt handler (20090903/evevent-161)
ACPI: Unable to start the ACPI Interpreter
Later all kind of devices fail...
I could bisect it down to this commit:
commit b9c61b70075c87a8612624736faf4a2de5b1ed30
Author: Yinghai Lu <yinghai@...nel.org>
Date: Wed May 6 10:10:06 2009 -0700
x86/pci: update pirq_enable_irq() to setup io apic routing
So we can set io apic routing only when enabling the device irq.
This is advantageous for IRQ descriptor allocation affinity: if we set up
the IO-APIC entry later, we have a chance to allocate the IRQ descriptor
later and know which device it is on and can set affinity accordingly.
[ Impact: standardize/enhance irq-enabling sequence for mptable irqs ]
Signed-off-by: Yinghai Lu <yinghai@...nel.org>
Acked-by: Jesse Barnes <jbarnes@...tuousgeek.org>
Cc: Len Brown <lenb@...nel.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>
LKML-Reference: <4A01C46E.8000501@...nel.org>
Signed-off-by: Ingo Molnar <mingo@...e.hu>
Attached are dmesg of an umodified broken 2.6.32 kernel and
dmesg of a 2.6.32 kernel in which I reverted above patch (apic=verbose).
The reverting needed some adjusting and I did this without understanding
the code. I also attach the backported patch reverting above for 2.6.32
which makes the machine work again (see dmesg attachment).
This probably cannot go in, it would be great if someone could help
finding a proper patch for mainline which makes the machine work again.
(The ACPI irq, SCI, is meant to be on IRQ 30, rerouted from IRQ 3 via
APIC source override table, which is rather odd/uncommon. Hope that helps)
Thanks,
Thomas
View attachment "dmesg_2.6.32_boots_apic_verbose.txt" of type "text/plain" (40939 bytes)
View attachment "dmesg_2.6.32_does_not_boot.txt" of type "text/plain" (64079 bytes)
View attachment "x86_xseries_330_sci_irq.fix" of type "text/x-vhdl" (9387 bytes)
Powered by blists - more mailing lists