[PATCH 00/21] qemu: IOthread setting changes

Peter Krempa posted 21 patches 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1677767499.git.pkrempa@redhat.com
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%)
[PATCH 00/21] qemu: IOthread setting changes
Posted by Peter Krempa 1 year, 1 month ago
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