On Tue, May 14, 2019 at 01:03:31PM -0600, Alex Williamson wrote: > Commit b2fc91db8447 ("q35: set split kernel irqchip as default") changed > the default for the pc-q35-4.0 machine type to use split irqchip, which > turned out to have disasterous effects on vfio-pci INTx support. KVM > resampling irqfds are registered for handling these interrupts, but > these are non-functional in split irqchip mode. We can't simply test > for split irqchip in QEMU as userspace handling of this interrupt is a > significant performance regression versus KVM handling (GeForce GPUs > assigned to Windows VMs are non-functional without forcing MSI mode or > re-enabling kernel irqchip). > > The resolution is to revert the change in default irqchip mode with a > new pc-q35-4.0.1 machine type for qemu-stable while the development > branch makes the same change in the pc-q35-4.1 machine type. The > qemu-q35-4.0 machine type should not be used in vfio-pci configurations > for devices requiring legacy INTx support without explicitly modifying > the VM configuration to use KVM irqchip. This new 4.0.1 machine type > makes this change automatically.
If we introduce a pc-q35-4.0.1 machine type in -stable, then VMs created in stable won't be migratable to future 4.1 unless we also create this same machine type in master. If we really want to create a new 4.0.1 machine type, then this patch needs to go to git master before stable IMHO to guarantee no regression to master. > Link: https://bugs.launchpad.net/qemu/+bug/1826422 > Link: https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg03305.html > Fixes: b2fc91db8447 ("q35: set split kernel irqchip as default") > Cc: qemu-sta...@nongnu.org > Signed-off-by: Alex Williamson <alex.william...@redhat.com> > --- > > Do we want new stable versions for other archs too or only as needed? 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 :|