[libvirt] [PATCH v3 1/3] qemu: Use virtio-pci by default for mach-virt guests

Andrea Bolognani abologna at redhat.com
Tue Jan 10 11:49:23 UTC 2017


On Tue, 2017-01-10 at 03:38 -0500, Laine Stump wrote:
[...]
> > -    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_MMIO)) {
> > -        qemuDomainPrimeVirtioDeviceAddresses(
> > -            def, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO);
> > +    /* We use virtio-mmio by default on mach-virt guests only if they already
> > +     * have at least one virtio-mmio device: in all other cases, we prefer
> > +     * virtio-pci */
> > +    if (qemuDomainMachineHasPCIeRoot(def) &&
> > +        !qemuDomainHasVirtioMMIODevices(def)) {
> > +        qemuDomainPrimeVirtioDeviceAddresses(def,
> > +                                             VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI);
> 
> I'm having trouble remembering, and it's too early in the morning to go
> looking in the code - it seems like priming the addresses with PCI might
> not be necessary - as long as we simply *don't* prime them with
> virtio-mmio. I could be misremembering though. ACK either way.

It looks like that's indeed the case from changing the code
accordingly and running the test suite.

However, a cursory look (it's morning here as well ;) at the
code didn't give me enough confidence that it's working by
design rather than pure chance, and with the freeze coming
up shortly I decided to push the possibly slightly suboptimal
code instead. I will go back to this and remove it if it
turns out to be safe to do so after 3.0.0 is out.

> (ACK is based on the assumption that all concerned ARM parties have
> agreed that it's time to do this. I *think* that is the case :-)

It's been agreed a while ago that the only thing stopping us
from changing the default was poor guest support; as mentioned
in the commit message, that's no longer a concern, so onwards
to the future we go! :)

Thanks for the review.

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list