On Thu, Sep 30, 2021 at 18:52 Laine Stump <laine(a)redhat.com> wrote:
On 9/30/21 2:16 AM, Ani Sinha wrote:
> On Fri, Sep 24, 2021 at 2:16 AM Laine Stump <laine(a)redhat.com> wrote:
>>
>> On 9/11/21 11:26 PM, Ani Sinha wrote:
>>> The above two options are only available for qemu driver and that too
for x86
>>> guests only. Both of them are global options.
>>>
>>> ``acpi-hotplug-bridge`` option enables or disables ACPI hotplug
support for cold
>>> plugged bridges. Examples of cold plugged bridges include PCI-PCI
bridge
>>> (pci-bridge controller) for pc machines and pcie-root-port controller
for q35
>>> machines. The corresponding commandline options to qemu for x86 guests
are:
>>
>> The "cold plugged bridges" term here throws me for a loop - it
implies
>> that hotplugging bridges is something that's supported, and I think it
>> still isn't. Of course this is just the cover letter, so it won't go
>> into git anywhere, but I think it should be enough to say "enables ACPI
>> hotplug into non-root bus PCI bridges/ports".
>
> I think emphasizing cold plugged bridges is important as Igor (CC'd)
> has clarified in the other email on patch #3 of this series.
Okay, so the implication in Igor's email is that a) it is possible to
hotplug a pcie controller, but b) any controller that is hotplugged will
not have ACPI enabled. Note though that libvirt doesn't allow
hotplugging *any* PCI controller, since we were told long ago that no OS
will actually rescan the PCI topology when this is done, and so the new
controller wouldn't be usable anyway. (that information may well be
outdated).
From i440fx side all empty ports in the pci root controller are
described
as hotplug capable from ACPI. So I do not see why we cannot hotplug a pci
bridge in one of the pci root ports and OS should be able to detect it
without reboot. I have not tried it though.
I think if you're going to mention that it is specifically for
"cold-plugged bridges" then you should also 1) define what
"cold-plugged" means, i.e. "(PCI controllers that were present in the
domain definition when the guest was first started"), and 2) note that
"ACPI is not enabled for bridges that are hot-plugged (but currently
libvirt doesn't support hotplugging a pci controller anyway)" or
something like that.