This series:
0) cleans up various things (patches 1, 16)
1) Fixes and modernizes testing of iothreads (patches 2-9)
2) Cleans up unneeded iothread capabilities (patches 10 - 13)
3) Adds XML and commandline support for iothread polling attributes
(patches 14-15)
4) Contains a RFC for adding iothread to virtqueue mapping for disks
(patches 17-21)
The last patches are RFC because the qemu implementation is not done
yet. It's based on Stefan's patches which add the intrface part (see
patch 21)
Peter Krempa (21):
conf: virDomainDiskDefDriverParseXML: Drop unused XPath infrastructure
qemuxml2argvtest: Remove 'iothreads-nocap'
qemuxml2(argv|xml)test: Remove 'iothreads' case
qemuxml2argvtest: Modernize the rest of 'iohtreads-*'
qemuxml2xmltest: Modernize iothread CWW/SCSI test cases
qemuxml2(argv|xml)test: Modernize 'cputune' test cases
qemuxml2(argv|xmltest): Simplify testing of scheduler settings
qemuxml2argvtest: Modernize negative cputune-* cases
tests: qemuxml2argvdata: Remove irrelevant <disk> from 'iothread-*'
cases
qemu: Always assume support for iothreads
qemu: capabilities: Retire unused QEMU_CAPS_OBJECT_IOTHREAD
qemu: Always assume support for QEMU_CAPS_IOTHREAD_POLLING
qemu: capabilities: Retire unused QEMU_CAPS_IOTHREAD_POLLING
conf: Store the iothread 'poll' settings in the XML
qemu: Use configured iothread poll parameters on startup
docs: formatdomain: Properly indent example XML for setting
'metadata_cache'
<<< RFC starts here >>>
util: xml: Introduce virXMLNodeGetSubelement
qemucapabilitiesdata: Bump qemu-8.0 caps for virtqeueues
qemu: capabilities: Introduce QEMU_CAPS_VIRTIO_BLK_IOTHREAD_MAPPING
conf: Add possibility to configure multiple iothreads per disk
qemu: Implement support for configuring iothread to virtqueue mapping
for disks
docs/formatdomain.rst | 76 ++++---
src/conf/domain_conf.c | 124 ++++++++++-
src/conf/domain_conf.h | 21 ++
src/conf/domain_validate.c | 8 +
src/conf/schemas/domaincommon.rng | 66 ++++--
src/libvirt_private.syms | 1 +
src/qemu/qemu_capabilities.c | 10 +-
src/qemu/qemu_capabilities.h | 5 +-
src/qemu/qemu_command.c | 63 ++++++
src/qemu/qemu_driver.c | 57 ++---
src/qemu/qemu_process.c | 23 --
src/qemu/qemu_validate.c | 117 ++++++++++-
src/util/virxml.c | 29 +++
src/util/virxml.h | 4 +
.../caps_4.2.0.aarch64.xml | 2 -
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 -
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 2 -
.../caps_4.2.0.x86_64.xml | 2 -
.../caps_5.0.0.aarch64.xml | 2 -
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 -
.../caps_5.0.0.riscv64.xml | 2 -
.../caps_5.0.0.x86_64.xml | 2 -
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 -
.../caps_5.1.0.x86_64.xml | 2 -
.../caps_5.2.0.aarch64.xml | 2 -
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 -
.../caps_5.2.0.riscv64.xml | 2 -
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 -
.../caps_5.2.0.x86_64.xml | 2 -
.../caps_6.0.0.aarch64.xml | 2 -
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 -
.../caps_6.0.0.x86_64.xml | 2 -
.../caps_6.1.0.x86_64.xml | 2 -
.../caps_6.2.0.aarch64.xml | 2 -
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 -
.../caps_6.2.0.x86_64.xml | 2 -
.../caps_7.0.0.aarch64.xml | 2 -
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 -
.../caps_7.0.0.x86_64.xml | 2 -
.../qemucapabilitiesdata/caps_7.1.0.ppc64.xml | 2 -
.../caps_7.1.0.x86_64.xml | 2 -
.../caps_7.2.0.x86_64.xml | 2 -
.../caps_8.0.0.riscv64.xml | 2 -
.../caps_8.0.0.x86_64.replies | 197 +++++++++---------
.../caps_8.0.0.x86_64.xml | 5 +-
tests/qemuxml2argvdata/cputune-iothreads.xml | 39 ----
...e-iothreadsched-toomuch.x86_64-latest.err} | 0
.../cputune-iothreadsched-zeropriority.xml | 40 ----
.../cputune-iothreadsched.xml | 39 ----
tests/qemuxml2argvdata/cputune-numatune.args | 32 ---
...gs => cputune-numatune.x86_64-latest.args} | 14 +-
...utune-vcpusched-overlap.x86_64-latest.err} | 0
...=> cputune-zero-shares.x86_64-latest.args} | 15 +-
.../qemuxml2argvdata/cputune-zero-shares.xml | 4 +-
...artial.args => cputune.x86_64-latest.args} | 24 ++-
tests/qemuxml2argvdata/cputune.xml | 12 +-
tests/qemuxml2argvdata/iothreads-disk.args | 41 ----
.../iothreads-disk.x86_64-latest.args | 46 ++++
tests/qemuxml2argvdata/iothreads-disk.xml | 35 +++-
... iothreads-ids-partial.x86_64-latest.args} | 20 +-
.../iothreads-ids-partial.xml | 10 +-
...othreads-ids-pool-sizes.x86_64-latest.args | 9 +-
.../iothreads-ids-pool-sizes.xml | 18 +-
....args => iothreads-ids.x86_64-latest.args} | 17 +-
tests/qemuxml2argvdata/iothreads-ids.xml | 10 +-
tests/qemuxml2argvdata/iothreads-nocap.err | 1 -
tests/qemuxml2argvdata/iothreads-nocap.xml | 37 ----
...othreads-virtio-scsi-pci.x86_64-5.2.0.args | 5 +-
...threads-virtio-scsi-pci.x86_64-latest.args | 5 +-
.../iothreads-virtio-scsi-pci.xml | 6 -
tests/qemuxml2argvdata/iothreads.args | 35 ----
tests/qemuxml2argvdata/iothreads.xml | 31 ---
.../vcpu-placement-static.x86_64-latest.args | 39 ++++
.../vcpu-placement-static.xml | 16 ++
tests/qemuxml2argvtest.c | 24 +--
.../qemuxml2xmloutdata/cputune-iothreads.xml | 48 -----
.../cputune-iothreadsched-zeropriority.xml | 51 -----
.../cputune-iothreadsched.xml | 51 -----
...xml => cputune-numatune.x86_64-latest.xml} | 5 +-
... => cputune-zero-shares.x86_64-latest.xml} | 9 +-
...{cputune.xml => cputune.x86_64-latest.xml} | 19 +-
...othreads-disk-virtio-ccw.s390x-latest.xml} | 4 +
...k.xml => iothreads-disk.x86_64-latest.xml} | 41 +++-
...> iothreads-ids-partial.x86_64-latest.xml} | 15 +-
...ds.xml => iothreads-ids.x86_64-latest.xml} | 15 +-
...othreads-virtio-scsi-ccw.s390x-latest.xml} | 4 +
...threads-virtio-scsi-pci.x86_64-latest.xml} | 11 +-
tests/qemuxml2xmloutdata/iothreads.xml | 36 ----
...> vcpu-placement-static.x86_64-latest.xml} | 0
tests/qemuxml2xmltest.c | 28 +--
90 files changed, 887 insertions(+), 938 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/cputune-iothreads.xml
rename tests/qemuxml2argvdata/{cputune-iothreadsched-toomuch.err =>
cputune-iothreadsched-toomuch.x86_64-latest.err} (100%)
delete mode 100644 tests/qemuxml2argvdata/cputune-iothreadsched-zeropriority.xml
delete mode 100644 tests/qemuxml2argvdata/cputune-iothreadsched.xml
delete mode 100644 tests/qemuxml2argvdata/cputune-numatune.args
rename tests/qemuxml2argvdata/{vcpu-placement-static.args =>
cputune-numatune.x86_64-latest.args} (55%)
rename tests/qemuxml2argvdata/{cputune-vcpusched-overlap.err =>
cputune-vcpusched-overlap.x86_64-latest.err} (100%)
rename tests/qemuxml2argvdata/{cputune-zero-shares.args =>
cputune-zero-shares.x86_64-latest.args} (59%)
rename tests/qemuxml2argvdata/{iothreads-ids-partial.args =>
cputune.x86_64-latest.args} (50%)
delete mode 100644 tests/qemuxml2argvdata/iothreads-disk.args
create mode 100644 tests/qemuxml2argvdata/iothreads-disk.x86_64-latest.args
rename tests/qemuxml2argvdata/{iothreads-ids.args =>
iothreads-ids-partial.x86_64-latest.args} (51%)
rename tests/qemuxml2argvdata/{cputune.args => iothreads-ids.x86_64-latest.args}
(55%)
delete mode 100644 tests/qemuxml2argvdata/iothreads-nocap.err
delete mode 100644 tests/qemuxml2argvdata/iothreads-nocap.xml
delete mode 100644 tests/qemuxml2argvdata/iothreads.args
delete mode 100644 tests/qemuxml2argvdata/iothreads.xml
create mode 100644 tests/qemuxml2argvdata/vcpu-placement-static.x86_64-latest.args
delete mode 100644 tests/qemuxml2xmloutdata/cputune-iothreads.xml
delete mode 100644 tests/qemuxml2xmloutdata/cputune-iothreadsched-zeropriority.xml
delete mode 100644 tests/qemuxml2xmloutdata/cputune-iothreadsched.xml
rename tests/qemuxml2xmloutdata/{cputune-numatune.xml =>
cputune-numatune.x86_64-latest.xml} (86%)
rename tests/qemuxml2xmloutdata/{cputune-zero-shares.xml =>
cputune-zero-shares.x86_64-latest.xml} (84%)
rename tests/qemuxml2xmloutdata/{cputune.xml => cputune.x86_64-latest.xml} (68%)
rename tests/qemuxml2xmloutdata/{iothreads-disk-virtio-ccw.xml =>
iothreads-disk-virtio-ccw.s390x-latest.xml} (89%)
rename tests/qemuxml2xmloutdata/{iothreads-disk.xml =>
iothreads-disk.x86_64-latest.xml} (58%)
rename tests/qemuxml2xmloutdata/{iothreads-ids-partial.xml =>
iothreads-ids-partial.x86_64-latest.xml} (72%)
rename tests/qemuxml2xmloutdata/{iothreads-ids.xml => iothreads-ids.x86_64-latest.xml}
(71%)
rename tests/qemuxml2xmloutdata/{iothreads-virtio-scsi-ccw.xml =>
iothreads-virtio-scsi-ccw.s390x-latest.xml} (90%)
rename tests/qemuxml2xmloutdata/{iothreads-virtio-scsi-pci.xml =>
iothreads-virtio-scsi-pci.x86_64-latest.xml} (85%)
delete mode 100644 tests/qemuxml2xmloutdata/iothreads.xml
rename tests/qemuxml2xmloutdata/{vcpu-placement-static.xml =>
vcpu-placement-static.x86_64-latest.xml} (100%)
--
2.39.2