Richard W.M. Jones
2017-Jan-16 14:19 UTC
[Libguestfs] FYI: virtio-pci will be the default with libvirt 3.0.0, aarch64 & -M virt
(Thanks to Andrea Bolognani for bringing this to my attention) from https://libvirt.org/news.html: * v3.0.0 (unreleased) - qemu: Use virtio-pci by default for aarch64 mach-virt guests - virtio-pci provides several advantages over virtio-mmio, such as the ability to hotplug devices and improved performance. While opting in to virtio-pci has been possible for a while, newly-defined guests will now use it automatically. This is a good change because virtio-mmio is really slow, and because all other platforms (except S/390!) use virtio-pci and we want to minimize differences. I previously wrote a patch to make this happen in libguestfs: https://www.redhat.com/archives/libguestfs/2016-October/thread.html#00078 However the change was still being finalized in qemu & libvirt at that time, so I think that patch is probably not quite right for the final qemu/libvirt. In any case nothing is upstream. This is just a note that things will probably be broken for LIBGUESTFS_BACKEND=libvirt + libvirt 3.0.0 + aarch64 until we fix this in libguestfs. There is also a related RHEL bug: https://bugzilla.redhat.com/show_bug.cgi?id=1237250 Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
Andrea Bolognani
2017-Jan-16 17:04 UTC
Re: [Libguestfs] FYI: virtio-pci will be the default with libvirt 3.0.0, aarch64 & -M virt
On Mon, 2017-01-16 at 14:19 +0000, Richard W.M. Jones wrote:> I previously wrote a patch to make this happen in libguestfs: > > https://www.redhat.com/archives/libguestfs/2016-October/thread.html#00078 > > However the change was still being finalized in qemu & libvirt at that > time, so I think that patch is probably not quite right for the final > qemu/libvirt. In any case nothing is upstream.The patch you wrote in October looks still applicable to me, but with libvirt 3.0.0 you won't even need to change anything in libguestfs to get virtio-pci on aarch64, as it's the new default. You might still want to manually assign PCI addresses in libguestfs in order to minimize the number of PCI controllers, but maybe the difference will not big enough to offset the disadvantage of having to take the matter into your own hands instead of relying on libvirt.> This is just a note that things will probably be broken for > LIBGUESTFS_BACKEND=libvirt + libvirt 3.0.0 + aarch64 until we fix this > in libguestfs.As long as you're sticking with upstream components, the change should be mostly transparent to users; on RHELSA, the combination you listed will indeed stop working until https://bugzilla.redhat.com/1337510 has been taken care of, with once again no need to change libguestfs AFAICT. -- Andrea Bolognani / Red Hat / Virtualization