Bug 43150

Summary: acpi_reroute_boot_interrupt introduces interrupt setup regression on a HP ML570G3
Product: ACPI Reporter: Thomas Renninger (trenn)
Component: Config-InterruptsAssignee: acpi_config-interrupts
Status: CLOSED DUPLICATE    
Severity: normal CC: lenb, per, rjw, rostedt, sassmann
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.1 and newer Subsystem:
Regression: Yes Bisected commit-id:
Attachments: output of "lspci -nn -v"
[PATCH 1/3] X86 PCI: Remove unneeded CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS compile option
[PATCH 2/3] X86 PCI: Remove unneeded noioapicreroute boot parameter
[PATCH 3/3] ACPI PCI: Cleanup indentation

Description Thomas Renninger 2012-04-23 12:21:03 UTC
There is a SUSE bug here, but it has not have much details:
IRQs rerouted to legacy IRQ
https://bugzilla.novell.com/show_bug.cgi?id=757778

Relevant part is that Per sees this message: "rerouted to legacy IRQ" introduced in 3.1 via commit d7f6169a0d32002 in dmesg and has problems installing the machine.
In comment #7 he states that disabling the quirk helps:
"Following the advice of Thomas Renninger, I've added "pci=noioapicquirk" which
makes the system behave as normally."
Comment 1 Per Jessen 2012-04-23 19:16:34 UTC
I can confirm that using "pci=noioapicquirk" makes the target system behave normally, i.e. irqs are not rerouted to legacy.  Please let me know what sort of information/diagnostics you require.
Comment 2 Len Brown 2012-04-24 02:47:14 UTC

*** This bug has been marked as a duplicate of bug 43074 ***
Comment 3 Stefan Assmann 2012-04-25 11:27:04 UTC
Per,
please provide the output of "lspci -nn -v". Thanks!
Comment 4 Per Jessen 2012-04-25 11:42:52 UTC
Created attachment 73078 [details]
output of "lspci -nn -v"
Comment 5 Thomas Renninger 2012-05-24 09:55:46 UTC
This rerouting issue is weird.
X86_REROUTE_FOR_BROKEN_BOOT_IRQS compile option looks wrong
and
(no)ioapicreroute boot parameters seem to be not needed (noioapicquirk) should be used instead.

This doesn't solve Per's problem, he would still need noioapicquirk.
But it's still worthful cleanup.

What do you think about these?
Comment 6 Thomas Renninger 2012-05-24 09:56:59 UTC
Created attachment 73372 [details]
[PATCH 1/3] X86 PCI: Remove unneeded CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS compile option
Comment 7 Thomas Renninger 2012-05-24 09:57:30 UTC
Created attachment 73373 [details]
[PATCH 2/3] X86 PCI: Remove unneeded noioapicreroute boot parameter
Comment 8 Thomas Renninger 2012-05-24 09:58:22 UTC
Created attachment 73374 [details]
[PATCH 3/3] ACPI PCI: Cleanup indentation

Not sure this one is worth it.
Comment 9 Stefan Assmann 2012-05-24 10:16:08 UTC
(In reply to comment #5)
> This rerouting issue is weird.
> X86_REROUTE_FOR_BROKEN_BOOT_IRQS compile option looks wrong

This is exactly doing what it is supposed to. Gives the option to enable/disable the boot interrupt quirks at the cost of additional IRQ sharing. This should stay as is.

> and
> (no)ioapicreroute boot parameters seem to be not needed (noioapicquirk)
> should
> be used instead.

I don't think so. There's a difference between them. noioapicquirk disables the quirks completely, while noioapicreroute only prevents rerouting. Some users may only want to disable rerouting and keep the other quirks alive. Different quirks handle different devices.

I'm fine with 3/3. Let's wait until we figured out Pers issue before we do any cleanup, ok?
Comment 10 Stefan Assmann 2012-05-24 10:21:48 UTC
Btw, I think this boils down to an issue with tg3 as the cciss issue is solve by http://marc.info/?l=linux-kernel&m=132249697801585&w=2 according to Per.
Comment 11 Stefan Assmann 2012-06-06 08:15:29 UTC
Per,
please provide the output of
- ethtool -i <ethX>
- ethtool -t <ethX>
when tg3 is malfunctioning.
Comment 12 Per Jessen 2012-06-26 07:34:36 UTC
Hi Stephan

I'll see what I can do - I need to upgrade to kernel 3.4.2 anyway.