On 6/13/23 10:42 AM, Boris Fiuczynski wrote:
Update capabilities for QEMU 8.1 on s390x, add a new capability async-teardown and make use of it when running on s390x hosts to improve memory reclaiming.
Is this really something that should be enabled unconditionally on all s390x guests, or should it be configured with some domain xml? If there's ever a case where an s390x domain would want this disabled, I think it would have to be configurable. Also, if there is any situation where a domain on a different architecture might want to enable this, that would also require some kind of configurability. At minimum it seems to me that the commit log should have a lot more justification for why this approach is justified.
Jonathon
Boris Fiuczynski (2): qemu: add run-with async-teardown capability qemu: enable asynchronous teardown on s390x hosts Shalini Chellathurai Saroja (1): tests: add capabilities for QEMU 8.1.0 on s390x src/qemu/qemu_capabilities.c | 2 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 15 + tests/domaincapsdata/qemu_8.1.0.s390x.xml | 284 + .../caps_8.1.0_s390x.replies | 34594 ++++++++++++++++ .../qemucapabilitiesdata/caps_8.1.0_s390x.xml | 3719 ++ .../caps_8.1.0_x86_64.xml | 1 + .../qemuhotplug-base-ccw-live+ccw-virtio.xml | 1 - ...ith-2-ccw-virtio+ccw-virtio-1-explicit.xml | 1 - ...with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 1 - ...otplug-base-ccw-live-with-2-ccw-virtio.xml | 1 - ...-with-ccw-virtio+ccw-virtio-2-explicit.xml | 1 - ...-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 1 - ...uhotplug-base-ccw-live-with-ccw-virtio.xml | 1 - .../qemuhotplug-base-ccw-live.xml | 1 - .../balloon-ccw-deflate.s390x-latest.args | 3 +- .../console-sclp.s390x-latest.args | 7 +- .../console-virtio-ccw.s390x-latest.args | 9 +- .../cpu-s390-features.s390x-latest.args | 1 + .../cpu-s390-zEC12.s390x-latest.args | 1 + ...default-video-type-s390x.s390x-latest.args | 5 +- .../disk-error-policy-s390x.s390x-latest.args | 7 +- .../disk-virtio-ccw-many.s390x-latest.args | 11 +- .../disk-virtio-ccw.s390x-latest.args | 7 +- .../disk-virtio-s390-zpci.s390x-latest.args | 7 +- .../fs9p-ccw.s390x-latest.args | 11 +- ...tdev-scsi-vhost-scsi-ccw.s390x-latest.args | 9 +- ...tdev-subsys-mdev-vfio-ap.s390x-latest.args | 5 +- ...ubsys-mdev-vfio-ccw-boot.s390x-latest.args | 5 +- ...dev-subsys-mdev-vfio-ccw.s390x-latest.args | 5 +- ...o-zpci-autogenerate-fids.s390x-latest.args | 11 +- ...o-zpci-autogenerate-uids.s390x-latest.args | 11 +- ...v-vfio-zpci-autogenerate.s390x-latest.args | 7 +- ...dev-vfio-zpci-boundaries.s390x-latest.args | 15 +- ...vfio-zpci-ccw-memballoon.s390x-latest.args | 9 +- ...io-zpci-multidomain-many.s390x-latest.args | 35 +- .../hostdev-vfio-zpci.s390x-latest.args | 7 +- .../input-virtio-ccw.s390x-latest.args | 11 +- ...othreads-virtio-scsi-ccw.s390x-latest.args | 9 +- .../launch-security-s390-pv.s390x-latest.args | 7 +- ...chine-aeskeywrap-off-cap.s390x-latest.args | 3 +- ...hine-aeskeywrap-off-caps.s390x-latest.args | 3 +- ...achine-aeskeywrap-on-cap.s390x-latest.args | 3 +- ...chine-aeskeywrap-on-caps.s390x-latest.args | 3 +- ...chine-deakeywrap-off-cap.s390x-latest.args | 3 +- ...hine-deakeywrap-off-caps.s390x-latest.args | 3 +- ...achine-deakeywrap-on-cap.s390x-latest.args | 3 +- ...chine-deakeywrap-on-caps.s390x-latest.args | 3 +- ...achine-keywrap-none-caps.s390x-latest.args | 3 +- .../machine-keywrap-none.s390x-latest.args | 3 +- ...machine-loadparm-hostdev.s390x-latest.args | 5 +- ...multiple-disks-nets-s390.s390x-latest.args | 15 +- ...achine-loadparm-net-s390.s390x-latest.args | 7 +- .../machine-loadparm-s390.s390x-latest.args | 5 +- .../net-virtio-ccw.s390x-latest.args | 11 +- .../no-async-teardown-s390x.s390x-6.0.0.args | 32 + .../no-async-teardown-s390x.xml | 18 + ...low-bogus-usb-controller.s390x-latest.args | 11 +- ...390-allow-bogus-usb-none.s390x-latest.args | 11 +- ...t-cpu-kvm-ccw-virtio-2.7.s390x-latest.args | 3 +- ...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args | 5 +- ...t-cpu-tcg-ccw-virtio-2.7.s390x-latest.args | 3 +- ...t-cpu-tcg-ccw-virtio-4.2.s390x-latest.args | 3 +- .../s390-panic-missing.s390x-latest.args | 7 +- .../s390-panic-no-address.s390x-latest.args | 7 +- .../s390-serial-2.s390x-latest.args | 5 +- .../s390-serial-console.s390x-latest.args | 3 +- .../s390-serial.s390x-latest.args | 3 +- .../s390x-ccw-graphics.s390x-latest.args | 23 +- .../s390x-ccw-headless.s390x-latest.args | 17 +- .../vhost-vsock-ccw-auto.s390x-latest.args | 7 +- .../vhost-vsock-ccw-iommu.s390x-latest.args | 7 +- .../vhost-vsock-ccw.s390x-latest.args | 7 +- .../video-virtio-gpu-ccw.s390x-latest.args | 9 +- .../virtio-rng-ccw.s390x-latest.args | 11 +- .../watchdog-diag288.s390x-latest.args | 7 +- tests/qemuxml2argvtest.c | 2 + 77 files changed, 38916 insertions(+), 197 deletions(-) create mode 100644 tests/domaincapsdata/qemu_8.1.0.s390x.xml create mode 100644 tests/qemucapabilitiesdata/caps_8.1.0_s390x.replies create mode 100644 tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml create mode 100644 tests/qemuxml2argvdata/no-async-teardown-s390x.s390x-6.0.0.args create mode 100644 tests/qemuxml2argvdata/no-async-teardown-s390x.xml