Bug 200765 - A resource of firmware enabled IOAPIC conflicts with a child-bus when PCI hotplug
Summary: A resource of firmware enabled IOAPIC conflicts with a child-bus when PCI hot...
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: PCI (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: drivers_pci@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-08 15:04 UTC by Lee, Chun-Yi
Modified: 2018-08-08 19:40 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.4
Tree: Mainline
Regression: No


Attachments
hotplug-nic-lost-dmesg-20180614.tar.bz2 (119.89 KB, application/x-bzip)
2018-08-08 15:04 UTC, Lee, Chun-Yi
Details
dmesg before (261.06 KB, text/plain)
2018-08-08 19:39 UTC, Bjorn Helgaas
Details
dmesg after (905.94 KB, text/plain)
2018-08-08 19:40 UTC, Bjorn Helgaas
Details

Description Lee, Chun-Yi 2018-08-08 15:04:06 UTC
Created attachment 277755 [details]
hotplug-nic-lost-dmesg-20180614.tar.bz2

I got a machine that the resource of firmware enabled IOAPIC conflicts
with the resource of a children bus when the PCI host bus be hotplug.

[ 3182.243325] PCI host bridge to bus 0001:40
[ 3182.243328] pci_bus 0001:40: root bus resource [io  0xc000-0xdfff window]
[ 3182.243330] pci_bus 0001:40: root bus resource [mem 0xdc000000-0xebffffff window]
[ 3182.243331] pci_bus 0001:40: root bus resource [mem 0x212400000000-0x2125ffffffff window]
[ 3182.243334] pci_bus 0001:40: root bus resource [bus 40-7e]
...
[ 3182.244737] pci 0001:40:05.4: [8086:6f2c] type 00 class 0x080020
[ 3182.244746] pci 0001:40:05.4: reg 0x10: [mem 0xdc000000-0xdc000fff]
...
[ 3182.246697] pci 0001:40:02.0: PCI bridge to [bus 41]
[ 3182.246702] pci 0001:40:02.0:   bridge window [mem 0xdc000000-0xdc7fffff]
...
pci 0001:40:05.4: can't claim BAR 0 [mem 0xdc000000-0xdc000fff]: address conflict with PCI Bus 0001:41 [mem 0xdc000000-0xdc7fffff]

The attached tarball includes the dmesg log for before/after hotplug. 

I have sent a patch to kernel that it can workaround the problem on issue machine:

[PATCH] x86/PCI: Claim the resources of firmware enabled IOAPIC before children bus
https://lkml.org/lkml/2018/7/24/310

The patch moves the priority of claiming the resources of firmware enabled IOAPIC to higher than sibling children bus.
Comment 1 Bjorn Helgaas 2018-08-08 19:39:53 UTC
Created attachment 277759 [details]
dmesg before

dmesg-before_test.txt extracted from the 277755 tar.bz2 file.
Comment 2 Bjorn Helgaas 2018-08-08 19:40:51 UTC
Created attachment 277761 [details]
dmesg after

dmesg-after_test.txt extracted from tar.bz2 file.

Note You need to log in before you can comment on or make changes to this bug.