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. v2: - switch to use on/off on the QEMU command line - added configuration management of the feature to the domain XML Boris Fiuczynski (3): qemu: add run-with async-teardown capability qemu: allow use of async teardown in domain qemu: enable asynchronous teardown on s390x hosts Shalini Chellathurai Saroja (1): tests: add capabilities for QEMU 8.1.0 on s390x docs/formatdomain.rst | 6 + src/conf/domain_conf.c | 22 + src/conf/domain_conf.h | 1 + src/conf/schemas/domaincommon.rng | 9 + src/qemu/qemu_capabilities.c | 2 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 20 + src/qemu/qemu_domain.c | 14 + src/qemu/qemu_validate.c | 9 + tests/domaincapsdata/qemu_8.1.0.s390x.xml | 285 + .../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 | 2 +- ...ith-2-ccw-virtio+ccw-virtio-1-explicit.xml | 1 - ...with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 2 +- ...otplug-base-ccw-live-with-2-ccw-virtio.xml | 2 +- ...-with-ccw-virtio+ccw-virtio-2-explicit.xml | 2 +- ...-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 2 +- ...uhotplug-base-ccw-live-with-ccw-virtio.xml | 2 +- .../qemuhotplug-base-ccw-live.xml | 2 +- .../async-teardown.x86_64-latest.args | 37 + tests/qemuxml2argvdata/async-teardown.xml | 31 + .../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 +- ...low-bogus-usb-controller.s390x-latest.args | 11 +- ...390-allow-bogus-usb-none.s390x-latest.args | 11 +- ...0-async-teardown-disabled.s390x-6.0.0.args | 35 + ...-async-teardown-disabled.s390x-latest.args | 36 + .../s390-async-teardown-disabled.xml | 24 + ...async-teardown-no-attrib.s390x-latest.args | 36 + .../s390-async-teardown-no-attrib.xml | 24 + .../s390-async-teardown.s390x-6.0.0.err | 1 + .../s390-async-teardown.s390x-latest.args | 36 + .../qemuxml2argvdata/s390-async-teardown.xml | 24 + ...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 +- ...no-async-teardown-autogen.s390x-6.0.0.args | 32 + ...o-async-teardown-autogen.s390x-latest.args | 33 + .../s390-no-async-teardown-autogen.xml | 18 + .../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-iommu.xml | 3 + .../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 | 9 + .../async-teardown.x86_64-latest.xml | 44 + .../default-video-type-s390x.s390x-latest.xml | 3 + .../disk-virtio-s390-zpci.s390x-latest.xml | 3 + ...stdev-scsi-vhost-scsi-ccw.s390x-latest.xml | 3 + ...stdev-subsys-mdev-vfio-ap.s390x-latest.xml | 3 + ...subsys-mdev-vfio-ccw-boot.s390x-latest.xml | 3 + ...tdev-subsys-mdev-vfio-ccw.s390x-latest.xml | 3 + ...io-zpci-autogenerate-fids.s390x-latest.xml | 3 + ...io-zpci-autogenerate-uids.s390x-latest.xml | 3 + ...ev-vfio-zpci-autogenerate.s390x-latest.xml | 3 + ...tdev-vfio-zpci-boundaries.s390x-latest.xml | 3 + ...-vfio-zpci-ccw-memballoon.s390x-latest.xml | 3 + ...fio-zpci-multidomain-many.s390x-latest.xml | 3 + .../hostdev-vfio-zpci.s390x-latest.xml | 3 + .../input-virtio-ccw.s390x-latest.xml | 3 + ...iothreads-disk-virtio-ccw.s390x-latest.xml | 3 + ...iothreads-virtio-scsi-ccw.s390x-latest.xml | 3 + .../machine-loadparm-hostdev.s390x-latest.xml | 3 + ...-multiple-disks-nets-s390.s390x-latest.xml | 3 + ...90-async-teardown-disabled.s390x-6.0.0.xml | 36 + ...0-async-teardown-disabled.s390x-latest.xml | 36 + ...-async-teardown-no-attrib.s390x-latest.xml | 36 + .../s390-async-teardown.s390x-latest.xml | 36 + ...lt-cpu-kvm-ccw-virtio-2.7.s390x-latest.xml | 3 + ...lt-cpu-kvm-ccw-virtio-4.2.s390x-latest.xml | 3 + ...lt-cpu-tcg-ccw-virtio-2.7.s390x-latest.xml | 3 + ...lt-cpu-tcg-ccw-virtio-4.2.s390x-latest.xml | 3 + .../s390-defaultconsole.s390x-latest.xml | 3 + ...-no-async-teardown-autogen.s390x-6.0.0.xml | 25 + ...no-async-teardown-autogen.s390x-latest.xml | 28 + .../s390-panic-missing.s390x-latest.xml | 3 + .../s390-panic-no-address.s390x-latest.xml | 3 + .../s390-panic.s390x-latest.xml | 3 + .../s390-serial-2.s390x-latest.xml | 3 + .../s390-serial-console.s390x-latest.xml | 3 + .../s390-serial.s390x-latest.xml | 3 + .../s390x-ccw-graphics.s390x-latest.xml | 3 + .../s390x-ccw-headless.s390x-latest.xml | 3 + .../vhost-vsock-ccw-auto.s390x-latest.xml | 3 + .../vhost-vsock-ccw.s390x-latest.xml | 3 + ...video-virtio-gpu-ccw-auto.s390x-latest.xml | 3 + .../video-virtio-gpu-ccw.s390x-latest.xml | 3 + tests/qemuxml2xmltest.c | 8 + 138 files changed, 39671 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/async-teardown.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/async-teardown.xml create mode 100644 tests/qemuxml2argvdata/s390-async-teardown-disabled.s390x-6.0.0.args create mode 100644 tests/qemuxml2argvdata/s390-async-teardown-disabled.s390x-latest.args create mode 100644 tests/qemuxml2argvdata/s390-async-teardown-disabled.xml create mode 100644 tests/qemuxml2argvdata/s390-async-teardown-no-attrib.s390x-latest.args create mode 100644 tests/qemuxml2argvdata/s390-async-teardown-no-attrib.xml create mode 100644 tests/qemuxml2argvdata/s390-async-teardown.s390x-6.0.0.err create mode 100644 tests/qemuxml2argvdata/s390-async-teardown.s390x-latest.args create mode 100644 tests/qemuxml2argvdata/s390-async-teardown.xml create mode 100644 tests/qemuxml2argvdata/s390-no-async-teardown-autogen.s390x-6.0.0.args create mode 100644 tests/qemuxml2argvdata/s390-no-async-teardown-autogen.s390x-latest.args create mode 100644 tests/qemuxml2argvdata/s390-no-async-teardown-autogen.xml create mode 100644 tests/qemuxml2xmloutdata/async-teardown.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/s390-async-teardown-disabled.s390x-6.0.0.xml create mode 100644 tests/qemuxml2xmloutdata/s390-async-teardown-disabled.s390x-latest.xml create mode 100644 tests/qemuxml2xmloutdata/s390-async-teardown-no-attrib.s390x-latest.xml create mode 100644 tests/qemuxml2xmloutdata/s390-async-teardown.s390x-latest.xml create mode 100644 tests/qemuxml2xmloutdata/s390-no-async-teardown-autogen.s390x-6.0.0.xml create mode 100644 tests/qemuxml2xmloutdata/s390-no-async-teardown-autogen.s390x-latest.xml -- 2.41.0