diff mbox

4.7 regression: ACPI: No IRQ available for PCI Interrupt Link [LNKD]. Try pci=noacpi or acpi=off

Message ID 946fcb62-272b-61b3-9afa-7c27a1ce7419@codeaurora.org (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Sinan Kaya Sept. 28, 2016, 11:38 p.m. UTC
On 9/28/2016 3:23 PM, Ondrej Zary wrote:
> On Wednesday 28 September 2016 20:22:40 Sinan Kaya wrote:
>> On 9/28/2016 1:02 PM, Ondrej Zary wrote:
>>>> Thanks, It sounds like you have more than one machine with similar
>>>>
>>>>> problems. Can you collect the log from the other machines with
>>>>> 4.8-rc8?
>>>>>
>>>>> and also a boot log with 4.6 kernel where things are working?
>>>
>>> The attached logs are from another machine:
>>>
>>> dmesg-bad-debug.txt: 4.8-rc8 with your debug patch - bad
>>>
>>> dmesg-reverted.txt: 4.8-rc8 with patches (as per Rafael's suggestion)
>>> reverted - good
>>>
>>> dmesg-3.6.txt: 4.6 (Debian kernel) - good
>>
>> I think I see a race condition for the SCI interrupt. I need another dump
>> from 4.8-rc8 with the attached patch to confirm. Let's remove the previous
>> one and apply this one.
> 
> dmesg-reverted.txt: 4.8-rc8 w/patches reverted (good)
> $ head /proc/interrupts
>            CPU0
>   0:       8531    XT-PIC  timer
>   1:          9    XT-PIC  i8042
>   2:          0    XT-PIC  cascade
>   8:          1    XT-PIC  rtc0
>  11:        713    XT-PIC  acpi, uhci_hcd:usb1, uhci_hcd:usb2, nvkm, eth0
>  12:        161    XT-PIC  i8042
>  14:       4042    XT-PIC  pata_via
>  15:          0    XT-PIC  pata_via
> NMI:          0   Non-maskable interrupts
> 
> dmesg-bad-debug.txt: 4.8-rc8 (bad)
> $ head /proc/interrupts
>            CPU0
>   0:       8027    XT-PIC  timer
>   1:        286    XT-PIC  i8042
>   2:          0    XT-PIC  cascade
>   8:          1    XT-PIC  rtc0
>  10:          0    XT-PIC  uhci_hcd:usb1, uhci_hcd:usb2
>  11:          0    XT-PIC  acpi, nvkm, eth0
>  12:        161    XT-PIC  i8042
>  14:       4069    XT-PIC  pata_via
>  15:          0    XT-PIC  pata_via
> 
> (I'm moving between different machines through the day - these logs are from 
> different machine than the last ones).
> 

Can you try these patches on your machines please?

Comments

Ondrej Zary Sept. 29, 2016, 9:10 a.m. UTC | #1
On Thursday 29 September 2016, Sinan Kaya wrote:
> On 9/28/2016 3:23 PM, Ondrej Zary wrote:
> > On Wednesday 28 September 2016 20:22:40 Sinan Kaya wrote:
> >> On 9/28/2016 1:02 PM, Ondrej Zary wrote:
> >>>> Thanks, It sounds like you have more than one machine with similar
> >>>>
> >>>>> problems. Can you collect the log from the other machines with
> >>>>> 4.8-rc8?
> >>>>>
> >>>>> and also a boot log with 4.6 kernel where things are working?
> >>>
> >>> The attached logs are from another machine:
> >>>
> >>> dmesg-bad-debug.txt: 4.8-rc8 with your debug patch - bad
> >>>
> >>> dmesg-reverted.txt: 4.8-rc8 with patches (as per Rafael's suggestion)
> >>> reverted - good
> >>>
> >>> dmesg-3.6.txt: 4.6 (Debian kernel) - good
> >>
> >> I think I see a race condition for the SCI interrupt. I need another
> >> dump from 4.8-rc8 with the attached patch to confirm. Let's remove the
> >> previous one and apply this one.
> >
> > dmesg-reverted.txt: 4.8-rc8 w/patches reverted (good)
> > $ head /proc/interrupts
> >            CPU0
> >   0:       8531    XT-PIC  timer
> >   1:          9    XT-PIC  i8042
> >   2:          0    XT-PIC  cascade
> >   8:          1    XT-PIC  rtc0
> >  11:        713    XT-PIC  acpi, uhci_hcd:usb1, uhci_hcd:usb2, nvkm, eth0
> >  12:        161    XT-PIC  i8042
> >  14:       4042    XT-PIC  pata_via
> >  15:          0    XT-PIC  pata_via
> > NMI:          0   Non-maskable interrupts
> >
> > dmesg-bad-debug.txt: 4.8-rc8 (bad)
> > $ head /proc/interrupts
> >            CPU0
> >   0:       8027    XT-PIC  timer
> >   1:        286    XT-PIC  i8042
> >   2:          0    XT-PIC  cascade
> >   8:          1    XT-PIC  rtc0
> >  10:          0    XT-PIC  uhci_hcd:usb1, uhci_hcd:usb2
> >  11:          0    XT-PIC  acpi, nvkm, eth0
> >  12:        161    XT-PIC  i8042
> >  14:       4069    XT-PIC  pata_via
> >  15:          0    XT-PIC  pata_via
> >
> > (I'm moving between different machines through the day - these logs are
> > from different machine than the last ones).
>
> Can you try these patches on your machines please?

It doesn't even boot :(

ACPI: No IRQ available for PCI Interrupt Link [LNKD]. Try pci=noacpi or acpi=off
BUG: unable to handle kernel paging request at e3382f64
IP: [<c11ecf61>] acpi_irq_get_penalty+0x69/0xa5
*pde = 00000000
Oops: 0000 [#1] SMP
Modules linked in: 
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.8.0-rc8+ #114
Hardware name: System Manufacturer System Name/A7VL133, BIOS ASUS A7VL133-VM ACPI BIOS Revision 1008 06/10/2002
task: c7094000 task.stack: c7098000
EIP: 0060:[<c11ecf61>] EFLAGS: 00210202 CPU:  0
EIP is at acpi_irq_get_penalty+0x69/0xa5
...
Call Trace:
acpi_isa_irq_available
acpi_pci_irq_enable
pcibios_enable_device
do_pci_enable_device
quirk_usb_early_handoff
pci_get_subsys
pci_fixup_device
pci_apply_final_quirks
pci_proc_init
do_one_initcall
parse_args
kernel_init_freeable
kernel_init_freeable
ret_from_kernel_thread
rest_init
Sinan Kaya Sept. 29, 2016, 1:09 p.m. UTC | #2
On 2016-09-29 05:10, Ondrej Zary wrote:
> On Thursday 29 September 2016, Sinan Kaya wrote:
>> On 9/28/2016 3:23 PM, Ondrej Zary wrote:
>> > On Wednesday 28 September 2016 20:22:40 Sinan Kaya wrote:
>> >> On 9/28/2016 1:02 PM, Ondrej Zary wrote:
>> >>>> Thanks, It sounds like you have more than one machine with similar
>> >>>>
>> >>>>> problems. Can you collect the log from the other machines with
>> >>>>> 4.8-rc8?
>> >>>>>
>> >>>>> and also a boot log with 4.6 kernel where things are working?
>> >>>
>> >>> The attached logs are from another machine:
>> >>>
>> >>> dmesg-bad-debug.txt: 4.8-rc8 with your debug patch - bad
>> >>>
>> >>> dmesg-reverted.txt: 4.8-rc8 with patches (as per Rafael's suggestion)
>> >>> reverted - good
>> >>>
>> >>> dmesg-3.6.txt: 4.6 (Debian kernel) - good
>> >>
>> >> I think I see a race condition for the SCI interrupt. I need another
>> >> dump from 4.8-rc8 with the attached patch to confirm. Let's remove the
>> >> previous one and apply this one.
>> >
>> > dmesg-reverted.txt: 4.8-rc8 w/patches reverted (good)
>> > $ head /proc/interrupts
>> >            CPU0
>> >   0:       8531    XT-PIC  timer
>> >   1:          9    XT-PIC  i8042
>> >   2:          0    XT-PIC  cascade
>> >   8:          1    XT-PIC  rtc0
>> >  11:        713    XT-PIC  acpi, uhci_hcd:usb1, uhci_hcd:usb2, nvkm, eth0
>> >  12:        161    XT-PIC  i8042
>> >  14:       4042    XT-PIC  pata_via
>> >  15:          0    XT-PIC  pata_via
>> > NMI:          0   Non-maskable interrupts
>> >
>> > dmesg-bad-debug.txt: 4.8-rc8 (bad)
>> > $ head /proc/interrupts
>> >            CPU0
>> >   0:       8027    XT-PIC  timer
>> >   1:        286    XT-PIC  i8042
>> >   2:          0    XT-PIC  cascade
>> >   8:          1    XT-PIC  rtc0
>> >  10:          0    XT-PIC  uhci_hcd:usb1, uhci_hcd:usb2
>> >  11:          0    XT-PIC  acpi, nvkm, eth0
>> >  12:        161    XT-PIC  i8042
>> >  14:       4069    XT-PIC  pata_via
>> >  15:          0    XT-PIC  pata_via
>> >
>> > (I'm moving between different machines through the day - these logs are
>> > from different machine than the last ones).
>> 
>> Can you try these patches on your machines please?
> 
> It doesn't even boot :(

Ok, since I have not seen the full boot log I am guessing that isa api 
gets called before the link objects are initialized.


Can you appply the first three only (0001, 0002 and 0003) to see if it 
makes a difference?

> 
> ACPI: No IRQ available for PCI Interrupt Link [LNKD]. Try pci=noacpi or 
> acpi=off
> BUG: unable to handle kernel paging request at e3382f64
> IP: [<c11ecf61>] acpi_irq_get_penalty+0x69/0xa5
> *pde = 00000000
> Oops: 0000 [#1] SMP
> Modules linked in:
> CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.8.0-rc8+ #114
> Hardware name: System Manufacturer System Name/A7VL133, BIOS ASUS
> A7VL133-VM ACPI BIOS Revision 1008 06/10/2002
> task: c7094000 task.stack: c7098000
> EIP: 0060:[<c11ecf61>] EFLAGS: 00210202 CPU:  0
> EIP is at acpi_irq_get_penalty+0x69/0xa5
> ...
> Call Trace:
> acpi_isa_irq_available
> acpi_pci_irq_enable
> pcibios_enable_device
> do_pci_enable_device
> quirk_usb_early_handoff
> pci_get_subsys
> pci_fixup_device
> pci_apply_final_quirks
> pci_proc_init
> do_one_initcall
> parse_args
> kernel_init_freeable
> kernel_init_freeable
> ret_from_kernel_thread
> rest_init
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ondrej Zary Sept. 29, 2016, 1:49 p.m. UTC | #3
On Thursday 29 September 2016, okaya@codeaurora.org wrote:
> On 2016-09-29 05:10, Ondrej Zary wrote:
> > On Thursday 29 September 2016, Sinan Kaya wrote:
> >> On 9/28/2016 3:23 PM, Ondrej Zary wrote:
> >> > On Wednesday 28 September 2016 20:22:40 Sinan Kaya wrote:
> >> >> On 9/28/2016 1:02 PM, Ondrej Zary wrote:
> >> >>>> Thanks, It sounds like you have more than one machine with similar
> >> >>>>
> >> >>>>> problems. Can you collect the log from the other machines with
> >> >>>>> 4.8-rc8?
> >> >>>>>
> >> >>>>> and also a boot log with 4.6 kernel where things are working?
> >> >>>
> >> >>> The attached logs are from another machine:
> >> >>>
> >> >>> dmesg-bad-debug.txt: 4.8-rc8 with your debug patch - bad
> >> >>>
> >> >>> dmesg-reverted.txt: 4.8-rc8 with patches (as per Rafael's
> >> >>> suggestion) reverted - good
> >> >>>
> >> >>> dmesg-3.6.txt: 4.6 (Debian kernel) - good
> >> >>
> >> >> I think I see a race condition for the SCI interrupt. I need another
> >> >> dump from 4.8-rc8 with the attached patch to confirm. Let's remove
> >> >> the previous one and apply this one.
> >> >
> >> > dmesg-reverted.txt: 4.8-rc8 w/patches reverted (good)
> >> > $ head /proc/interrupts
> >> >            CPU0
> >> >   0:       8531    XT-PIC  timer
> >> >   1:          9    XT-PIC  i8042
> >> >   2:          0    XT-PIC  cascade
> >> >   8:          1    XT-PIC  rtc0
> >> >  11:        713    XT-PIC  acpi, uhci_hcd:usb1, uhci_hcd:usb2, nvkm,
> >> > eth0 12:        161    XT-PIC  i8042
> >> >  14:       4042    XT-PIC  pata_via
> >> >  15:          0    XT-PIC  pata_via
> >> > NMI:          0   Non-maskable interrupts
> >> >
> >> > dmesg-bad-debug.txt: 4.8-rc8 (bad)
> >> > $ head /proc/interrupts
> >> >            CPU0
> >> >   0:       8027    XT-PIC  timer
> >> >   1:        286    XT-PIC  i8042
> >> >   2:          0    XT-PIC  cascade
> >> >   8:          1    XT-PIC  rtc0
> >> >  10:          0    XT-PIC  uhci_hcd:usb1, uhci_hcd:usb2
> >> >  11:          0    XT-PIC  acpi, nvkm, eth0
> >> >  12:        161    XT-PIC  i8042
> >> >  14:       4069    XT-PIC  pata_via
> >> >  15:          0    XT-PIC  pata_via
> >> >
> >> > (I'm moving between different machines through the day - these logs
> >> > are from different machine than the last ones).
> >>
> >> Can you try these patches on your machines please?
> >
> > It doesn't even boot :(
>
> Ok, since I have not seen the full boot log I am guessing that isa api
> gets called before the link objects are initialized.

Netconsole did not work (probably because it crashes too early?) and I don't 
have a null-modem cable.

> Can you appply the first three only (0001, 0002 and 0003) to see if it
> makes a difference?

It boots with first 3 patches only but the problem remains - see the attached 
log.
wim Sept. 29, 2016, 2:18 p.m. UTC | #4
On Wed, Sep 28, 2016 at 07:38:41PM -0400, Sinan Kaya wrote:
> 
> Can you try these patches on your machines please?

I applied the included patches on vanilla 4.8-rc8 and my machine booted
fine. (I saw a remark about SCSI interrupts, but I have no SCSI.)

Regards, Wim.


--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sinan Kaya Sept. 29, 2016, 2:31 p.m. UTC | #5
On 9/29/2016 10:18 AM, Wim Osterholt wrote:
> On Wed, Sep 28, 2016 at 07:38:41PM -0400, Sinan Kaya wrote:
>>
>> Can you try these patches on your machines please?
> 
> I applied the included patches on vanilla 4.8-rc8 and my machine booted
> fine. (I saw a remark about SCSI interrupts, but I have no SCSI.)
> 
> Regards, Wim.
> 

Thanks Wim. The issue seems to be platform specific. I guess we should fix 
Ondrej's issue first before increasing our test coverage. Apologies for
calling for test this early. I really hoped that the last patch would
solve Ondrej's issue.

> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
diff mbox

Patch

diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index 1edda48..df58153 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -871,9 +871,10 @@  static int __init acpi_irq_penalty_update(char *str, int used)
  */
 void acpi_penalize_isa_irq(int irq, int active)
 {
+	int penalty = active ? PIRQ_PENALTY_ISA_USED : PIRQ_PENALTY_PCI_USING;
+
 	if ((irq >= 0) && (irq < ARRAY_SIZE(acpi_isa_irq_penalty)))
-		acpi_isa_irq_penalty[irq] = acpi_irq_get_penalty(irq) +
-		  (active ? PIRQ_PENALTY_ISA_USED : PIRQ_PENALTY_PCI_USING);
+		acpi_isa_irq_penalty[irq] += penalty;
 }
 
 bool acpi_isa_irq_available(int irq)