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.
Created attachment 277759 [details] dmesg before dmesg-before_test.txt extracted from the 277755 tar.bz2 file.
Created attachment 277761 [details] dmesg after dmesg-after_test.txt extracted from tar.bz2 file.