[PATCH 00/11] qemu: Add support for CPU clusters

Andrea Bolognani posted 11 patches 3 months, 3 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
tests/virhostcputest.c                        |    1 +
tests/vmx2xmldata/esx-in-the-wild-10.xml      |    2 +-
tests/vmx2xmldata/esx-in-the-wild-8.xml       |    2 +-
tests/vmx2xmldata/esx-in-the-wild-9.xml       |    2 +-
3303 files changed, 6180 insertions(+), 262 deletions(-)
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-aarch64-clusters-cpus.json
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-aarch64-clusters-hotplug.json
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-aarch64-clusters.data
copy tests/qemuxml2argvdata/{cpu-topology2.x86_64-latest.args => cpu-topology5.aarch64-latest.args} (69%)
create mode 100644 tests/qemuxml2argvdata/cpu-topology5.xml
create mode 120000 tests/vircaps2xmldata/linux-basic-clusters/system/cpu
create mode 120000 tests/vircaps2xmldata/linux-basic-clusters/system/node
create mode 100644 tests/vircaps2xmldata/vircaps-aarch64-basic-clusters.xml
create mode 100644 tests/virhostcpudata/linux-aarch64-with-clusters.cpuinfo
create mode 100644 tests/virhostcpudata/linux-aarch64-with-clusters.expected
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/cluster_cpus
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/cluster_cpus_list
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/cluster_id
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_cpus
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_cpus_list
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_id
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_siblings
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_siblings_list
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/package_cpus
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/package_cpus_list
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/physical_package_id
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/thread_siblings
create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/thread_siblings_list
[PATCH 00/11] qemu: Add support for CPU clusters
Posted by Andrea Bolognani 3 months, 3 weeks ago
Edited for brevity. Full version:

  $ git fetch https://gitlab.com/abologna/libvirt.git cpu-clusters

Depends on:

  https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/IDFVKTZ6SKD6X6NI4DHM6JMXMQEVNVDL/

Andrea Bolognani (11):
  tests: Add hostcpudata for machine with CPU clusters
  conf: Report CPU clusters in capabilities XML
  conf: Allow specifying CPU clusters
  qemu: Introduce QEMU_CAPS_SMP_CLUSTERS
  qemu: Use CPU clusters for guests
  tests: Add test case for CPU clusters
  qemu: Make monitor aware of CPU clusters
  tests: Verify handling of CPU clusters in QMP data
  docs: Tweak documentation for CPU topology
  docs: Document CPU clusters
  news: Mention support for CPU clusters

 NEWS.rst                                      |    6 +
 docs/formatcaps.rst                           |    2 +-
 docs/formatdomain.rst                         |   24 +-
 src/bhyve/bhyve_command.c                     |    5 +
 src/conf/capabilities.c                       |    5 +-
 src/conf/capabilities.h                       |    1 +
 src/conf/cpu_conf.c                           |   16 +-
 src/conf/cpu_conf.h                           |    1 +
 src/conf/domain_conf.c                        |    1 +
 src/conf/schemas/capability.rng               |    3 +
 src/conf/schemas/cputypes.rng                 |    5 +
 src/cpu/cpu.c                                 |    1 +
 src/libvirt_linux.syms                        |    1 +
 src/libxl/libxl_capabilities.c                |    1 +
 src/qemu/qemu_capabilities.c                  |    2 +
 src/qemu/qemu_capabilities.h                  |    1 +
 src/qemu/qemu_command.c                       |    7 +
 src/qemu/qemu_domain.c                        |    3 +-
 src/qemu/qemu_monitor.c                       |    2 +
 src/qemu/qemu_monitor.h                       |    2 +
 src/qemu/qemu_monitor_json.c                  |    5 +
 src/util/virhostcpu.c                         |   22 +
 src/util/virhostcpu.h                         |    1 +
 src/vmx/vmx.c                                 |    7 +
 tests/capabilityschemadata/caps-qemu-kvm.xml  |   32 +-
 .../x86_64-host+guest,model486-result.xml     |    2 +-
 .../x86_64-host+guest,models-result.xml       |    2 +-
 .../cputestdata/x86_64-host+guest-result.xml  |    2 +-
 tests/cputestdata/x86_64-host+guest.xml       |    2 +-
 .../x86_64-host+host-model-nofallback.xml     |    2 +-
 ...t-Haswell-noTSX+Haswell,haswell-result.xml |    2 +-
 ...ell-noTSX+Haswell-noTSX,haswell-result.xml |    2 +-
 ...ost-Haswell-noTSX+Haswell-noTSX-result.xml |    2 +-
 .../x86_64-host-worse+guest-result.xml        |    2 +-
 .../qemucapabilitiesdata/caps_7.1.0_ppc64.xml |    1 +
 .../caps_7.1.0_x86_64.xml                     |    1 +
 tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml |    1 +
 .../caps_7.2.0_x86_64+hvf.xml                 |    1 +
 .../caps_7.2.0_x86_64.xml                     |    1 +
 .../caps_8.0.0_riscv64.xml                    |    1 +
 .../caps_8.0.0_x86_64.xml                     |    1 +
 .../qemucapabilitiesdata/caps_8.1.0_s390x.xml |    1 +
 .../caps_8.1.0_x86_64.xml                     |    1 +
 .../caps_8.2.0_aarch64.xml                    |    1 +
 .../caps_8.2.0_x86_64.xml                     |    1 +
 .../caps_9.0.0_x86_64.xml                     |    1 +
 .../ppc64-modern-bulk-result-conf.xml         |    2 +-
 .../ppc64-modern-bulk-result-live.xml         |    2 +-
 .../ppc64-modern-individual-result-conf.xml   |    2 +-
 .../ppc64-modern-individual-result-live.xml   |    2 +-
 .../x86-modern-bulk-result-conf.xml           |    2 +-
 .../x86-modern-bulk-result-live.xml           |    2 +-
 .../x86-modern-individual-add-result-conf.xml |    2 +-
 .../x86-modern-individual-add-result-live.xml |    2 +-
 ...imeout+graphics-spice-timeout-password.xml |    2 +-
 .../qemuhotplug-graphics-spice-timeout.xml    |    2 +-
 ...torjson-cpuinfo-aarch64-clusters-cpus.json |   88 +
 ...json-cpuinfo-aarch64-clusters-hotplug.json |  171 ++
 ...umonitorjson-cpuinfo-aarch64-clusters.data |  108 +
 tests/qemumonitorjsontest.c                   |    9 +-
 .../cpu-hotplug-startup.x86_64-latest.args    |    2 +-
 .../cpu-numa-disjoint.x86_64-latest.args      |    2 +-
 .../cpu-numa-disordered.x86_64-latest.args    |    2 +-
 .../cpu-numa-memshared.x86_64-latest.args     |    2 +-
 ...-numa-no-memory-element.x86_64-latest.args |    2 +-
 .../cpu-numa1.x86_64-latest.args              |    2 +-
 .../cpu-numa2.x86_64-latest.args              |    2 +-
 .../cpu-topology1.x86_64-latest.args          |    2 +-
 .../cpu-topology2.x86_64-latest.args          |    2 +-
 .../cpu-topology3.x86_64-latest.args          |    2 +-
 .../cpu-topology4.x86_64-latest.args          |    2 +-
 ...args => cpu-topology5.aarch64-latest.args} |   12 +-
 tests/qemuxml2argvdata/cpu-topology5.xml      |   17 +
 ...memory-no-numa-topology.x86_64-latest.args |    2 +-
 .../fd-memory-no-numa-topology.xml            |    2 +-
 ...fd-memory-numa-topology.x86_64-latest.args |    2 +-
 .../fd-memory-numa-topology.xml               |    2 +-
 ...d-memory-numa-topology2.x86_64-latest.args |    2 +-
 .../fd-memory-numa-topology2.xml              |    2 +-
 ...d-memory-numa-topology3.x86_64-latest.args |    2 +-
 .../fd-memory-numa-topology3.xml              |    2 +-
 .../hugepages-nvdimm.x86_64-latest.args       |    2 +-
 tests/qemuxml2argvdata/hugepages-nvdimm.xml   |    2 +-
 ...memory-default-hugepage.x86_64-latest.args |    2 +-
 .../memfd-memory-default-hugepage.xml         |    2 +-
 .../memfd-memory-numa.x86_64-latest.args      |    2 +-
 tests/qemuxml2argvdata/memfd-memory-numa.xml  |    2 +-
 ...emory-hotplug-dimm-addr.x86_64-latest.args |    2 +-
 .../memory-hotplug-dimm.x86_64-latest.args    |    2 +-
 ...memory-hotplug-multiple.x86_64-latest.args |    2 +-
 ...y-hotplug-nvdimm-access.x86_64-latest.args |    2 +-
 .../memory-hotplug-nvdimm-access.xml          |    2 +-
 ...ry-hotplug-nvdimm-align.x86_64-latest.args |    2 +-
 .../memory-hotplug-nvdimm-align.xml           |    2 +-
 ...ry-hotplug-nvdimm-label.x86_64-latest.args |    2 +-
 .../memory-hotplug-nvdimm-label.xml           |    2 +-
 ...ory-hotplug-nvdimm-pmem.x86_64-latest.args |    2 +-
 .../memory-hotplug-nvdimm-pmem.xml            |    2 +-
 ...-nvdimm-ppc64-abi-update.ppc64-latest.args |    2 +-
 ...ory-hotplug-nvdimm-ppc64.ppc64-latest.args |    2 +-
 ...hotplug-nvdimm-readonly.x86_64-latest.args |    2 +-
 .../memory-hotplug-nvdimm-readonly.xml        |    2 +-
 .../memory-hotplug-nvdimm.x86_64-latest.args  |    2 +-
 .../memory-hotplug-nvdimm.xml                 |    2 +-
 ...mory-hotplug-virtio-mem.x86_64-latest.args |    2 +-
 .../memory-hotplug-virtio-mem.xml             |    2 +-
 ...ory-hotplug-virtio-pmem.x86_64-latest.args |    2 +-
 .../memory-hotplug-virtio-pmem.xml            |    2 +-
 .../memory-hotplug.x86_64-latest.args         |    2 +-
 ...auto-memory-vcpu-cpuset.x86_64-latest.args |    2 +-
 ...no-cpuset-and-placement.x86_64-latest.args |    2 +-
 ...d-auto-vcpu-no-numatune.x86_64-latest.args |    2 +-
 ...to-vcpu-static-numatune.x86_64-latest.args |    2 +-
 ...static-memory-auto-vcpu.x86_64-latest.args |    2 +-
 ...static-vcpu-no-numatune.x86_64-latest.args |    2 +-
 .../qemuxml2argvdata/numad.x86_64-latest.args |    2 +-
 ...ne-auto-nodeset-invalid.x86_64-latest.args |    2 +-
 .../pci-expander-bus.x86_64-latest.args       |    2 +-
 .../pcie-expander-bus.x86_64-latest.args      |    2 +-
 .../pseries-phb-numa-node.ppc64-latest.args   |    2 +-
 tests/qemuxml2argvtest.c                      |    1 +
 .../cpu-numa-disjoint.x86_64-latest.xml       |    2 +-
 .../cpu-numa-disordered.x86_64-latest.xml     |    2 +-
 .../cpu-numa-memshared.x86_64-latest.xml      |    2 +-
 ...u-numa-no-memory-element.x86_64-latest.xml |    2 +-
 .../cpu-numa1.x86_64-latest.xml               |    2 +-
 .../cpu-numa2.x86_64-latest.xml               |    2 +-
 ...memory-hotplug-dimm-addr.x86_64-latest.xml |    2 +-
 .../memory-hotplug-dimm.x86_64-latest.xml     |    2 +-
 .../memory-hotplug-multiple.x86_64-latest.xml |    2 +-
 ...g-nvdimm-ppc64-abi-update.ppc64-latest.xml |    2 +-
 ...mory-hotplug-nvdimm-ppc64.ppc64-latest.xml |    2 +-
 .../memory-hotplug.x86_64-latest.xml          |    2 +-
 ...-auto-memory-vcpu-cpuset.x86_64-latest.xml |    2 +-
 ...-no-cpuset-and-placement.x86_64-latest.xml |    2 +-
 ...ad-auto-vcpu-no-numatune.x86_64-latest.xml |    2 +-
 ...-static-vcpu-no-numatune.x86_64-latest.xml |    2 +-
 .../pci-expander-bus.x86_64-latest.xml        |    2 +-
 .../pcie-expander-bus.x86_64-latest.xml       |    2 +-
 .../pseries-phb-numa-node.ppc64-latest.xml    |    2 +-
 .../linux-basic-clusters/system/cpu           |    1 +
 .../linux-basic-clusters/system/node          |    1 +
 .../vircaps-aarch64-basic-clusters.xml        |  255 +++
 .../vircaps2xmldata/vircaps-aarch64-basic.xml |   32 +-
 .../vircaps-x86_64-basic-dies.xml             |   24 +-
 .../vircaps2xmldata/vircaps-x86_64-basic.xml  |   32 +-
 .../vircaps2xmldata/vircaps-x86_64-caches.xml |   16 +-
 tests/vircaps2xmldata/vircaps-x86_64-hmat.xml |   48 +-
 .../vircaps-x86_64-resctrl-cdp.xml            |   24 +-
 .../vircaps-x86_64-resctrl-cmt.xml            |   24 +-
 .../vircaps-x86_64-resctrl-fake-feature.xml   |   24 +-
 .../vircaps-x86_64-resctrl-skx-twocaches.xml  |    2 +-
 .../vircaps-x86_64-resctrl-skx.xml            |    2 +-
 .../vircaps-x86_64-resctrl.xml                |   24 +-
 tests/vircaps2xmltest.c                       |    1 +
 .../linux-aarch64-with-clusters.cpuinfo       | 2016 +++++++++++++++++
 .../linux-aarch64-with-clusters.expected      |    1 +
 .../cpu/cpu0/topology/cluster_cpus            |    1 +
 .../cpu/cpu0/topology/cluster_cpus_list       |    1 +
 .../cpu/cpu0/topology/cluster_id              |    1 +
 .../cpu/cpu0/topology/core_cpus               |    1 +
 .../cpu/cpu0/topology/core_cpus_list          |    1 +
 .../cpu/cpu0/topology/core_id                 |    1 +
 .../cpu/cpu0/topology/core_siblings           |    1 +
 .../cpu/cpu0/topology/core_siblings_list      |    1 +
 .../cpu/cpu0/topology/package_cpus            |    1 +
 .../cpu/cpu0/topology/package_cpus_list       |    1 +
 .../cpu/cpu0/topology/physical_package_id     |    1 +
 .../cpu/cpu0/topology/thread_siblings         |    1 +
 .../cpu/cpu0/topology/thread_siblings_list    |    1 +
 [...]
 tests/virhostcputest.c                        |    1 +
 tests/vmx2xmldata/esx-in-the-wild-10.xml      |    2 +-
 tests/vmx2xmldata/esx-in-the-wild-8.xml       |    2 +-
 tests/vmx2xmldata/esx-in-the-wild-9.xml       |    2 +-
 3303 files changed, 6180 insertions(+), 262 deletions(-)
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-aarch64-clusters-cpus.json
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-aarch64-clusters-hotplug.json
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-aarch64-clusters.data
 copy tests/qemuxml2argvdata/{cpu-topology2.x86_64-latest.args => cpu-topology5.aarch64-latest.args} (69%)
 create mode 100644 tests/qemuxml2argvdata/cpu-topology5.xml
 create mode 120000 tests/vircaps2xmldata/linux-basic-clusters/system/cpu
 create mode 120000 tests/vircaps2xmldata/linux-basic-clusters/system/node
 create mode 100644 tests/vircaps2xmldata/vircaps-aarch64-basic-clusters.xml
 create mode 100644 tests/virhostcpudata/linux-aarch64-with-clusters.cpuinfo
 create mode 100644 tests/virhostcpudata/linux-aarch64-with-clusters.expected
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/cluster_cpus
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/cluster_cpus_list
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/cluster_id
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_cpus
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_cpus_list
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_id
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_siblings
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/core_siblings_list
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/package_cpus
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/package_cpus_list
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/physical_package_id
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/thread_siblings
 create mode 100644 tests/virhostcpudata/linux-with-clusters/cpu/cpu0/topology/thread_siblings_list
 [...]

-- 
2.43.0
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org