On Mon, May 26, 2025 at 17:26:47 +0200, Boris Fiuczynski wrote: > On 5/26/25 14:40, Peter Krempa via Devel wrote: > > On Thu, May 22, 2025 at 02:03:16 -0400, Collin Walling wrote: > > > To ease the user with defining a guest with a migratable CPU model, > > > > disclaimer: I'm not an expert on: > > - libvirt's cpu driver > > - s390x cpu etc. > > > > > let's disable the deprecated features from the get-go. If these > > > features are still desired, they may be reenabled via the > > > deprecated_features='on' attribute. > > > > I'd expect that anything that happens with cpu model (as it has guest > > visible implications [2]) would happen also in XML ... > > > > > Some existing tests utilize this updated behavior, so update the CPU > > > features on the corresponding args files. > > > > > > Signed-off-by: Collin Walling <wall...@linux.ibm.com> > > > --- > > > src/qemu/qemu_process.c | 11 +++++++++++ > > > .../default-video-type-s390x.s390x-latest.args | 2 +- > > > ...hostdev-vfio-zpci-ccw-memballoon.s390x-latest.args | 2 +- > > > .../launch-security-s390-pv.s390x-latest.args | 2 +- > > > ...0-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args | 2 +- > > > .../s390-defaultconsole.s390x-latest.args | 2 +- > > > > ... which doesn't seem to be the case as just the .args files changed. > > Do the mocked tests perform a cpu model expansion which is done when > starting a domain? > I tested Collins changes and when dumping the active domain xml the expanded > CPU model and also deprecated_features='off' is included if > deprecated_features was not already included in the persisted domain xml. > > > > > So won't this actually break the guest ABI? > > I think Daniel's old email can shed some light on that question. > https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/MCDGWIF2LZGKM5HYPE34QZVZPGTMQL7N/ > My understanding is that guest ABI does not include guaranties how a CPU > model is expanded and therefore this change does not break the guest ABI.
I agree (see disclaimer above) that expansion of the model itself is not covered by ABI guarantee but IIUC that would imply that the expanded model is recorded in the XML in order to ensure the ABI on migration where expansion would not be performed at that point. Attempting to do expansion during migration would make stuff go boom. Thus I expected to see XMLchange somewhere (perhaps in qemuxmlactivetest? dunno ... see disclaimer).