[libvirt] RFC: revival of hotplug/unplug for PCI Multifunction devices in QEMU guests

Daniel P. Berrangé berrange at redhat.com
Wed Jun 19 07:31:21 UTC 2019


On Tue, Jun 18, 2019 at 03:04:40PM -0300, Daniel Henrique Barboza wrote:
> Hi,
> 
> This is labeled as RFC but it's more like a FYI to let people know and
> comment beforehand. Shiva sent a 28 patch series last year that implements
> hotplug/unplug support for PCI multifunction devices [1]. The design
> motivation of his work was based in a RFC sent to this mailing list back
> in 2016 [2].
> 
> I'll briefly summarize the goals and motivations here. What we have today
> in Libvirt:
> 
> - no hotplug/unplug support for multifunction PCI devices
> 
> This is explained in details in [2]. When hotplugging a multifunction
> device, QEMU will queue the hotplug operation of all non-zero functions and,
> when function 0 is hotplugged, all functions are hotplugged together. This
> is true for all archs that supports PCI multifunction devices in QEMU. For
> unplug it varies: x86 will unplug all functions if any function is
> unplugged, ppc64 needs to unplug each one.

Do you know anything about why ppc64 & x86 are different in this respect
in QEMU.  I think it would be desirable to fix QEMU so that unplug works
consistently across architectures. These kind of behavioural differences
are a cause of pain as x86 gets all the day to day testing & leaving
ppc64 to bitrot if it behaves differently.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list