Draft: fedora/configs: Enable CONFIG_PCI_REALLOC_ENABLE_AUTO
This is mostly an RFC because I couldn't find the original reason this remains disabled in both rhel and fedora. I suspect there is one so that's why its only for fedora - and can be used as a future documentation on why it isn't enabled.
This option helps the following U.2 hotplug usecase: Somewhat oldish PCI 3.0 Desktop motherboard (Everything lspci HotPlug- by the bios/firmware) Adapter with PLX PCI switch chip (in my case SuperMicro AOC-SLG3-2E4 , lspci HotPlug+) U.2 drive caddy that allows hotplugging
Booted without a U.2 drive and subsequently inserting one, fails with:
pcieport 0000:00:01.1: Assigned bridge window [mem 0xfcf00000-0xfcffffff] to [bus 01-04] cannot fit 0x100000 required for 0000:02:01.0 bridging to [bus 03]
pcieport 0000:02:01.0: bridge window [mem 0x00000000] to [bus 03] requires relaxed alignment rules
pcieport 0000:02:01.0: bridge window [mem 0x00100000-0x001fffff] to [bus 03] add_size 100000 add_align 100000
pcieport 0000:02:01.0: bridge window [mem size 0x00200000]: can't assign; no space
pcieport 0000:02:01.0: bridge window [mem size 0x00200000]: failed to assign
pcieport 0000:02:01.0: bridge window [mem size 0x00100000]: can't assign; no space
pcieport 0000:02:01.0: bridge window [mem size 0x00100000]: failed to assign
pci 0000:03:00.0: BAR 0 [mem size 0x00004000 64bit]: can't assign; no space
pci 0000:03:00.0: BAR 0 [mem size 0x00004000 64bit]: failed to assign
Booting with the option enabled, or alternatively without it enabled but with pci=realloc on the commmand-line allows the hotplugged U.2 to receive the needed resources and works as expected.
Signed-off-by: Yanko Kaneti yaneti@declera.com