On Tue, 2017-03-07 at 16:35 +0100, Pavel Hrdina wrote:
> If I look at qemu-system-ppc64 -usb, that provides an
'nec-xhci' device.
>
> I'm curious why libvirt picked pci-ohci ? Was -usb previously providing
> a pci-ohci device instead of nec-xhci ?
We switched from -usb to -device in Libvirt 1.3.1 but we start to record
the default model in XML in Libvirt 2.2.0 (yes it should have been done
in the Libvirt 1.3.1). So probably in the time of Libvirt 1.3.1 the default
in Qemu was pci-ohci but they've probably switched to nex-xhci as they
decided that they will not fix the issues with pci-ohci.
Yup, the switch from pci-ohci to nec-usb-xhci as QEMU default
happened about a year ago for that very reason, see
https://bugzilla.redhat.com/show_bug.cgi?id=1284333
> I guess the thing that could justify the switch is that we
don't guarantee
> what default devices you'll get for any given guest. It is dependent on
> the particular version of the machine type used. So in that sense if you
> have an XML doc which is not fully populated with device info, you are
> already liable to see changes in default devices based on which QEMU
> you happen to define the XML against first.
I agree with that, if you let Libvirt to chose some default you probably
don't care that much what the default will be.
I completely agree with the argument in general.
That said, libvirt should only make the choice *once* and
store it in the guest XML, which is something that releases
between 1.3.1 and 2.1.0 unfortunately neglected to do.
If at all possible, guests created using one of the affected
releases should not be changed at all, even though switching
from pci-ohci to nec-xhci is something that I don't expect
would actually break any guest.
> > There is a concern whether we should allow ABI change for
persistent
> > migration which is more general issue that will affect some other changes
> > that are already "allowed" for persistent migration. I'm
starting to feel
> > that we should remove the "VIR_DOMAIN_DEF_PARSE_ABI_UPDATE" from
> > "virDomainDefParseNode" call in
"qemuMigrationCookieXMLParse" function
> > which currently allows to do ABI changes for persistent migration.
I think we should really think hard about this and possibly
change our current approach.
While it might be true that offline migration doesn't have
quite as restrictive requirements as live migration, that
doesn't mean we should be updating the guest ABI willy-nilly.
--
Andrea Bolognani / Red Hat / Virtualization