[libvirt] Proposal PCI/PCIe device placement on PAPR guests

Andrea Bolognani abologna at redhat.com
Fri Jan 6 17:34:29 UTC 2017


[Added Laine to CC, fixed qemu-devel address]

On Thu, 2017-01-05 at 16:46 +1100, David Gibson wrote:
[...]
>   * To allow for hotplugged devices, libvirt should also add a number
>     of additional, empty vPHBs (the PAPR spec allows for hotplug of
>     PHBs, but this is not yet implemented in qemu).

"A number" here will have to mean "one", same number of
empty PCIe Root Ports libvirt will add to a newly-defined
q35 guest.

>     When hotplugging
>     a new device (or PE) libvirt should locate a vPHB which doesn't
>     currently contain anything.

This will need to be a PHB-specific behavior, because at the
moment libvirt will happily pick one of the empty slots in
an existing PHB.

>   * libvirt should only (automatically) add PHBs - never root ports or
>     other PCI to PCI bridges
> 
> In order to handle migration, the vPHBs will need to be represented in
> the domain XML, which will also allow the user to override this
> topology if they want.

We'll have to decide how to represent them in the XML, but
that's basically your average bikeshedding.


Overall, the plan seems entirely reasonable to me.

It's pretty clear at this point that pseries guest are
different enough in their handling of PCI that none of
the address allocation algorithms currently implemented
in libvirt could be quite adapted to work with it, so
a custom one is in order.

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list