Edited for brevity. Full version: $ git fetch https://gitlab.com/abologna/libvirt.git cpu-clusters Depends on: https://lists.libvirt.org/archives/list/devel@xxxxxxxxxxxxxxxxx/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@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx