On Wed, Nov 23, 2022 at 01:35:42PM +0000, John Levon wrote: > On Wed, Nov 23, 2022 at 02:12:59PM +0100, Jiri Denemark wrote: > > > Not to mention that QEMU changed names of several features and even deprecated > > the old spellings which is completely transparent to libvirt users as they can > > still use the old names no matter what version of QEMU they use. This is one > > of the key benefits of libvirt. > > It's certainly very unfortunate that qemu did that (and we are still paying the > price for the arch-facilities/arch-capabilities thing). Note, it depends on your POV of 'unfortunate'. Of course any time QEMU changes something, it has an impact on things using QEMU, but libvirt is here precisely to give isolation from those changes. Indeed, the very fact that libvirt exists and is widely used, is what allows QEMU to deprecated and rename stuff on a pretty aggressive schedule. If libvirt wasn't providing this isolation, then it is unlikely QEMU would have adopted its 2 release deprecated cycle, and would be locked into their mistakes for a much longer period. IOW, libvirt is allowing QEMU to fix their own technical debt on a more aggressive timeframe, albeit at some cost to libvirt maintainers. > And in particular it's no longer the case that every single cpu model, cpu model > version, and cpu feature needs commits to both qemu and libvirt, and they must > be in sync. I would *always* expect there to be libvirt work to define the CPU feature names, and possibly CPU model names. IIUC, we don't need to copy over the entire CPU model expansion though, since we can query that direct from QEMU given the model name. With 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 :|