[PATCH 0/3] Enable asynchronous teardown on s390x hosts

Boris Fiuczynski posted 3 patches 11 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20230613154242.35504-1-fiuczy@linux.ibm.com
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
[PATCH 0/3] Enable asynchronous teardown on s390x hosts
Posted by Boris Fiuczynski 11 months, 1 week ago
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.

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

-- 
2.39.0
Re: [PATCH 0/3] Enable asynchronous teardown on s390x hosts
Posted by Jonathon Jongsma 11 months ago
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
>
Re: [PATCH 0/3] Enable asynchronous teardown on s390x hosts
Posted by Boris Fiuczynski 10 months, 4 weeks ago
On 6/21/23 6:54 PM, Jonathon Jongsma wrote:
> 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

Jonathon,
thanks for your feedback.

I am unsure where to located such a configuration option in the gust 
domain XML.

A few thoughts:
1) introduce a new emulator-options element in devices and a run-with 
child element with a parameter async-teardown, e.g.
...
<devices>
   <emulator>/usr/lib/bin/qemu</emulator>
   <emulator-options>
     <run-with async-teardown='on'/>
   </emulator-options>
</devices>
...

2) introduce a new run-with element with a parameter async-teardown in 
domain, e.g.

<domain>
   ...
   <run-with async-teardown='on'/>
   ...
</domain>

Any ideas and suggestions are welcome.

> 
> 
>> 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
>>
> 


-- 
Mit freundlichen Grüßen/Kind regards
    Boris Fiuczynski

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
Re: [PATCH 0/3] Enable asynchronous teardown on s390x hosts
Posted by Michal Prívozník 10 months, 3 weeks ago
On 6/23/23 15:12, Boris Fiuczynski wrote:
> On 6/21/23 6:54 PM, Jonathon Jongsma wrote:
>> 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
> 
> Jonathon,
> thanks for your feedback.
> 
> I am unsure where to located such a configuration option in the gust
> domain XML.
> 
> A few thoughts:
> 1) introduce a new emulator-options element in devices and a run-with
> child element with a parameter async-teardown, e.g.
> ...
> <devices>
>   <emulator>/usr/lib/bin/qemu</emulator>
>   <emulator-options>
>     <run-with async-teardown='on'/>
>   </emulator-options>
> </devices>
> ...
> 
> 2) introduce a new run-with element with a parameter async-teardown in
> domain, e.g.
> 
> <domain>
>   ...
>   <run-with async-teardown='on'/>
>   ...
> </domain>
> 
> Any ideas and suggestions are welcome.

We usually use domain <features/>, e.g.:

<domain>
  <name>someName</name>
  <uuid/>
  ...
  <features>
    <acpi/>
    <tcg>
       <tb-cache unit='KiB'>102400</tb-cache>
    </tcg>
  </features>
  ...
  <devices/>
</domain>

This looks like a fit place if we want to expose this in the domain XML.
And from the qemu-options.hx file it doesn't look s390x specific, which
means, we don't need to make the new element arch specific. IOW we can have:

  <features>
    <async-teardown enabled='yes'/>
  </features>

Michal

Re: [PATCH 0/3] Enable asynchronous teardown on s390x hosts
Posted by Boris Fiuczynski 10 months, 3 weeks ago
On 6/26/23 9:25 AM, Michal Prívozník wrote:
>> Jonathon,
>> thanks for your feedback.
>>
>> I am unsure where to located such a configuration option in the gust
>> domain XML.
>>
>> A few thoughts:
>> 1) introduce a new emulator-options element in devices and a run-with
>> child element with a parameter async-teardown, e.g.
>> ...
>> <devices>
>>    <emulator>/usr/lib/bin/qemu</emulator>
>>    <emulator-options>
>>      <run-with async-teardown='on'/>
>>    </emulator-options>
>> </devices>
>> ...
>>
>> 2) introduce a new run-with element with a parameter async-teardown in
>> domain, e.g.
>>
>> <domain>
>>    ...
>>    <run-with async-teardown='on'/>
>>    ...
>> </domain>
>>
>> Any ideas and suggestions are welcome.
> We usually use domain <features/>, e.g.:
> 
> <domain>
>    <name>someName</name>
>    <uuid/>
>    ...
>    <features>
>      <acpi/>
>      <tcg>
>         <tb-cache unit='KiB'>102400</tb-cache>
>      </tcg>
>    </features>
>    ...
>    <devices/>
> </domain>
> 
> This looks like a fit place if we want to expose this in the domain XML.
> And from the qemu-options.hx file it doesn't look s390x specific, which
> means, we don't need to make the new element arch specific. IOW we can have:
> 
>    <features>
>      <async-teardown enabled='yes'/>
>    </features>
> 
> Michal
> 

Hi Michal,
thanks for your input. I will get down to work on this.

-- 
Mit freundlichen Grüßen/Kind regards
    Boris Fiuczynski

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294