Hotplugging PCI device with large BAR

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,
I am trying to hotplug a device with a large BAR to a KVM guest, but it is failing to map the memory for the BAR.

>From dmesg, here is the output when hotplugging the device, with the failure on BAR 2:
[  891.614017] ACPI: \_SB_.PCI0.S60_: ACPI_NOTIFY_DEVICE_CHECK event
[  891.614036] ACPI: \_SB_.PCI0.S60_: Device check in hotplug_event()
[  891.614100] pci 0000:00:0c.0: [1af4:1110] type 00 class 0x050000
[  891.614277] pci 0000:00:0c.0: reg 0x10: [mem 0x00000000-0x00000fff]
[  891.614391] pci 0000:00:0c.0: reg 0x14: [mem 0x00000000-0x00000fff]
[  891.614557] pci 0000:00:0c.0: reg 0x18: [mem 0x00000000-0x7fffffff 64bit pref]
[  891.614670] pci 0000:00:0c.0: reg 0x20: [mem 0x00000000-0x000fffff pref]
[  891.614780] pci 0000:00:0c.0: reg 0x24: [mem 0x00000000-0x000fffff pref]
[  891.615277] pci 0000:00:0c.0: BAR 2: no space for [mem size 0x80000000 64bit pref]
[  891.615279] pci 0000:00:0c.0: BAR 2: failed to assign [mem size 0x80000000 64bit pref]
[  891.615281] pci 0000:00:0c.0: BAR 4: assigned [mem 0xc0300000-0xc03fffff pref]
[  891.617759] pci 0000:00:0c.0: BAR 5: assigned [mem 0xc0400000-0xc04fffff pref]
[  891.620473] pci 0000:00:0c.0: BAR 0: assigned [mem 0xc0202000-0xc0202fff]
[  891.623148] pci 0000:00:0c.0: BAR 1: assigned [mem 0xc0203000-0xc0203fff]

When the node is rebooted, the allocation gets fixed.
Also, when a similar device has previously been removed, it can allocate the memory that has previously been used for that device to this device, so allocation will succeed
Note, this is on a guest that has 9.8GB of RAM.  The same result was also observed on guests with lower amounts of RAM.

Does anyone have any suggestions?   Do you need any additional data?

Thanks,
Joseph Richard
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux