[libvirt] [PATCH v2 0/5] introduce support for CPU dies in host/guest topology

Latest generation CPUs (CascadeLake-AP) support a new topology level known as a 'die', sitting between a socket and a core. QEMU supports this with -smp arg since 4.1.0 Linux can report this via /sys/devices/system/cpu/cpuNNN/topology via 'die_id' and 'die_cpus' and 'die_cpus_list' files since 5.2 This series adds support for <topology> in guest XML to have a new 'dies' parameter, passed to QEMU, which defaults to '1' if omitted. It extends host capabilities so that NUMA topology reports a new 'die_id' attribute We can't expand 'virNodeInfoPtr' struct to have a die field, so this will remain forever reporting 'cores' as being 'dies * cores'. The <topology> in host capabilities XML is an interesting question. If we are strict with our API semantics we would *not* add a 'dies' parameter with any value other than '1' to <topology> in the host capabilities. If we reported a value other than 1, then any existing apps which multiple sockets*cores*threads will get the wrong total CPU count. We already know <topology> is broken by design for asymetric hardware, so we could simply document that it will forever be broken wrt to CPU dies too. In this case we might be better to not even report 'dies=1', just leave out the attr entirely. Interestingly though, <topology> is already more broken than it should be. For a VM with -smp 12,sockets=2,dies=3,cores=2,threads=1 it is reporting <topology sockets=1 dies=1 cores=12 threads=1>. It should at least do <topology sockets=2 dies=1 cores=6 threads=1>. I suspect the presence of dies is confusing the really incredibly horrible logic in virHostCPUGetInfoLinux. This will also impact virNodeInfoPtr data. So even if we don't report dies, I think we still have a bug that needs fixing here for the coarse node topology. I'm also confused about what I see with EPYC. IIUC, it was supposed to use the 'dies' concept, but in machines I've tested, Linux never reports die count other than 1. Perhaps only certain EPYC CPU models or generations use 'dies', or perhaps Linux isn't reporting correctly for EPYC, or perhaps I'm mislead into believeing it uses dies. Anyway, the upshot is I've not found any real hardware to test this series on. I've tested it only inside a QEMU guest with the suitable -smp arg to fake dies. Changed in v2: - Fixed docs for dies attribute - Improve error checking when parsing - Misc typos Daniel P. Berrangé (5): conf: add support for specifying CPU "dies" parameter conf: remove unused virCapabilitiesSetHostCPU method qemu: add support for specifying CPU "dies" topology parameter hostcpu: add support for reporting die_id in NUMA topology tests: add host CPU data files for validating die_id docs/formatcaps.html.in | 2 +- docs/formatdomain.html.in | 22 +- docs/schemas/capability.rng | 3 + docs/schemas/cputypes.rng | 5 + src/bhyve/bhyve_command.c | 5 + src/conf/capabilities.c | 26 +- src/conf/capabilities.h | 7 +- src/conf/cpu_conf.c | 23 +- src/conf/cpu_conf.h | 1 + src/conf/domain_conf.c | 3 +- src/cpu/cpu.c | 1 + src/libvirt_linux.syms | 1 + src/libvirt_private.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 | 12 +- src/util/virhostcpu.c | 16 + src/util/virhostcpu.h | 1 + src/vmx/vmx.c | 7 + .../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 +- .../caps_4.1.0.x86_64.xml | 1 + .../caps_4.2.0.aarch64.xml | 1 + .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 + .../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 + .../caps_4.2.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 +- .../x86-old-bulk-result-conf.xml | 2 +- .../x86-old-bulk-result-live.xml | 2 +- .../cpu-hotplug-granularity.xml | 2 +- .../qemuxml2argvdata/cpu-hotplug-startup.xml | 2 +- tests/qemuxml2argvdata/cpu-numa-disjoint.xml | 2 +- .../qemuxml2argvdata/cpu-numa-disordered.xml | 2 +- tests/qemuxml2argvdata/cpu-numa-memshared.xml | 2 +- .../cpu-numa-no-memory-element.xml | 2 +- tests/qemuxml2argvdata/cpu-numa1.xml | 2 +- tests/qemuxml2argvdata/cpu-numa2.xml | 2 +- tests/qemuxml2argvdata/cpu-numa3.xml | 2 +- tests/qemuxml2argvdata/cpu-topology1.xml | 2 +- tests/qemuxml2argvdata/cpu-topology2.xml | 2 +- tests/qemuxml2argvdata/cpu-topology3.xml | 2 +- .../fd-memory-no-numa-topology.xml | 2 +- .../fd-memory-numa-topology.xml | 2 +- .../fd-memory-numa-topology2.xml | 2 +- .../fd-memory-numa-topology3.xml | 2 +- .../graphics-spice-timeout.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 +- tests/qemuxml2argvdata/memory-align-fail.xml | 2 +- .../memory-hotplug-dimm-addr.xml | 2 +- .../qemuxml2argvdata/memory-hotplug-dimm.xml | 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 +- ...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 +- tests/qemuxml2argvdata/memory-hotplug.xml | 2 +- .../numad-auto-memory-vcpu-cpuset.xml | 2 +- ...to-memory-vcpu-no-cpuset-and-placement.xml | 2 +- .../numad-auto-vcpu-no-numatune.xml | 2 +- ...d-auto-vcpu-static-numatune-no-nodeset.xml | 2 +- .../numad-auto-vcpu-static-numatune.xml | 2 +- .../numad-static-memory-auto-vcpu.xml | 2 +- .../numad-static-vcpu-no-numatune.xml | 2 +- tests/qemuxml2argvdata/numad.xml | 2 +- .../numatune-auto-nodeset-invalid.xml | 2 +- .../numatune-memory-invalid-nodeset.xml | 2 +- tests/qemuxml2argvdata/numatune-memory.xml | 2 +- .../pci-expander-bus-bad-machine.xml | 2 +- tests/qemuxml2argvdata/pci-expander-bus.xml | 2 +- .../pcie-expander-bus-bad-bus.xml | 2 +- .../pcie-expander-bus-bad-machine.xml | 2 +- tests/qemuxml2argvdata/pcie-expander-bus.xml | 2 +- .../pseries-default-phb-numa-node.xml | 2 +- .../pseries-phb-numa-node.xml | 2 +- tests/qemuxml2argvdata/smp-dies.args | 29 ++ tests/qemuxml2argvdata/smp-dies.xml | 33 ++ tests/qemuxml2argvdata/smp.xml | 2 +- tests/qemuxml2argvtest.c | 1 + .../qemuxml2xmloutdata/cpu-numa-disjoint.xml | 2 +- .../cpu-numa-disordered.xml | 2 +- .../qemuxml2xmloutdata/cpu-numa-memshared.xml | 2 +- .../cpu-numa-no-memory-element.xml | 2 +- tests/qemuxml2xmloutdata/cpu-numa1.xml | 2 +- tests/qemuxml2xmloutdata/cpu-numa2.xml | 2 +- .../graphics-spice-timeout.xml | 2 +- .../memory-hotplug-dimm.xml | 2 +- tests/qemuxml2xmloutdata/memory-hotplug.xml | 2 +- .../numad-auto-memory-vcpu-cpuset.xml | 2 +- ...to-memory-vcpu-no-cpuset-and-placement.xml | 2 +- .../numad-auto-vcpu-no-numatune.xml | 2 +- .../numad-static-vcpu-no-numatune.xml | 2 +- tests/qemuxml2xmloutdata/pci-expander-bus.xml | 2 +- .../qemuxml2xmloutdata/pcie-expander-bus.xml | 2 +- .../pseries-phb-numa-node.xml | 2 +- tests/qemuxml2xmloutdata/smp.xml | 2 +- .../linux-basic-dies/system/cpu | 1 + .../linux-basic-dies/system/node | 1 + .../vircaps2xmldata/vircaps-aarch64-basic.xml | 32 +- .../vircaps-x86_64-basic-dies.xml | 35 ++ .../vircaps2xmldata/vircaps-x86_64-basic.xml | 32 +- .../vircaps2xmldata/vircaps-x86_64-caches.xml | 16 +- .../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 + .../cpu/cpu0/topology/core_cpus | 1 + .../cpu/cpu0/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu0/topology/core_id | 1 + .../cpu/cpu0/topology/core_siblings | 1 + .../cpu/cpu0/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu0/topology/die_cpus | 1 + .../cpu/cpu0/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu0/topology/die_id | 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 + .../linux-with-die/cpu/cpu1/online | 1 + .../cpu/cpu1/topology/core_cpus | 1 + .../cpu/cpu1/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu1/topology/core_id | 1 + .../cpu/cpu1/topology/core_siblings | 1 + .../cpu/cpu1/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu1/topology/die_cpus | 1 + .../cpu/cpu1/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu1/topology/die_id | 1 + .../cpu/cpu1/topology/package_cpus | 1 + .../cpu/cpu1/topology/package_cpus_list | 1 + .../cpu/cpu1/topology/physical_package_id | 1 + .../cpu/cpu1/topology/thread_siblings | 1 + .../cpu/cpu1/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu10/online | 1 + .../cpu/cpu10/topology/core_cpus | 1 + .../cpu/cpu10/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu10/topology/core_id | 1 + .../cpu/cpu10/topology/core_siblings | 1 + .../cpu/cpu10/topology/core_siblings_list | 1 + .../cpu/cpu10/topology/die_cpus | 1 + .../cpu/cpu10/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu10/topology/die_id | 1 + .../cpu/cpu10/topology/package_cpus | 1 + .../cpu/cpu10/topology/package_cpus_list | 1 + .../cpu/cpu10/topology/physical_package_id | 1 + .../cpu/cpu10/topology/thread_siblings | 1 + .../cpu/cpu10/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu11/online | 1 + .../cpu/cpu11/topology/core_cpus | 1 + .../cpu/cpu11/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu11/topology/core_id | 1 + .../cpu/cpu11/topology/core_siblings | 1 + .../cpu/cpu11/topology/core_siblings_list | 1 + .../cpu/cpu11/topology/die_cpus | 1 + .../cpu/cpu11/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu11/topology/die_id | 1 + .../cpu/cpu11/topology/package_cpus | 1 + .../cpu/cpu11/topology/package_cpus_list | 1 + .../cpu/cpu11/topology/physical_package_id | 1 + .../cpu/cpu11/topology/thread_siblings | 1 + .../cpu/cpu11/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu2/online | 1 + .../cpu/cpu2/topology/core_cpus | 1 + .../cpu/cpu2/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu2/topology/core_id | 1 + .../cpu/cpu2/topology/core_siblings | 1 + .../cpu/cpu2/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu2/topology/die_cpus | 1 + .../cpu/cpu2/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu2/topology/die_id | 1 + .../cpu/cpu2/topology/package_cpus | 1 + .../cpu/cpu2/topology/package_cpus_list | 1 + .../cpu/cpu2/topology/physical_package_id | 1 + .../cpu/cpu2/topology/thread_siblings | 1 + .../cpu/cpu2/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu3/online | 1 + .../cpu/cpu3/topology/core_cpus | 1 + .../cpu/cpu3/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu3/topology/core_id | 1 + .../cpu/cpu3/topology/core_siblings | 1 + .../cpu/cpu3/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu3/topology/die_cpus | 1 + .../cpu/cpu3/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu3/topology/die_id | 1 + .../cpu/cpu3/topology/package_cpus | 1 + .../cpu/cpu3/topology/package_cpus_list | 1 + .../cpu/cpu3/topology/physical_package_id | 1 + .../cpu/cpu3/topology/thread_siblings | 1 + .../cpu/cpu3/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu4/online | 1 + .../cpu/cpu4/topology/core_cpus | 1 + .../cpu/cpu4/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu4/topology/core_id | 1 + .../cpu/cpu4/topology/core_siblings | 1 + .../cpu/cpu4/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu4/topology/die_cpus | 1 + .../cpu/cpu4/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu4/topology/die_id | 1 + .../cpu/cpu4/topology/package_cpus | 1 + .../cpu/cpu4/topology/package_cpus_list | 1 + .../cpu/cpu4/topology/physical_package_id | 1 + .../cpu/cpu4/topology/thread_siblings | 1 + .../cpu/cpu4/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu5/online | 1 + .../cpu/cpu5/topology/core_cpus | 1 + .../cpu/cpu5/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu5/topology/core_id | 1 + .../cpu/cpu5/topology/core_siblings | 1 + .../cpu/cpu5/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu5/topology/die_cpus | 1 + .../cpu/cpu5/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu5/topology/die_id | 1 + .../cpu/cpu5/topology/package_cpus | 1 + .../cpu/cpu5/topology/package_cpus_list | 1 + .../cpu/cpu5/topology/physical_package_id | 1 + .../cpu/cpu5/topology/thread_siblings | 1 + .../cpu/cpu5/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu6/online | 1 + .../cpu/cpu6/topology/core_cpus | 1 + .../cpu/cpu6/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu6/topology/core_id | 1 + .../cpu/cpu6/topology/core_siblings | 1 + .../cpu/cpu6/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu6/topology/die_cpus | 1 + .../cpu/cpu6/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu6/topology/die_id | 1 + .../cpu/cpu6/topology/package_cpus | 1 + .../cpu/cpu6/topology/package_cpus_list | 1 + .../cpu/cpu6/topology/physical_package_id | 1 + .../cpu/cpu6/topology/thread_siblings | 1 + .../cpu/cpu6/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu7/online | 1 + .../cpu/cpu7/topology/core_cpus | 1 + .../cpu/cpu7/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu7/topology/core_id | 1 + .../cpu/cpu7/topology/core_siblings | 1 + .../cpu/cpu7/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu7/topology/die_cpus | 1 + .../cpu/cpu7/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu7/topology/die_id | 1 + .../cpu/cpu7/topology/package_cpus | 1 + .../cpu/cpu7/topology/package_cpus_list | 1 + .../cpu/cpu7/topology/physical_package_id | 1 + .../cpu/cpu7/topology/thread_siblings | 1 + .../cpu/cpu7/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu8/online | 1 + .../cpu/cpu8/topology/core_cpus | 1 + .../cpu/cpu8/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu8/topology/core_id | 1 + .../cpu/cpu8/topology/core_siblings | 1 + .../cpu/cpu8/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu8/topology/die_cpus | 1 + .../cpu/cpu8/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu8/topology/die_id | 1 + .../cpu/cpu8/topology/package_cpus | 1 + .../cpu/cpu8/topology/package_cpus_list | 1 + .../cpu/cpu8/topology/physical_package_id | 1 + .../cpu/cpu8/topology/thread_siblings | 1 + .../cpu/cpu8/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu9/online | 1 + .../cpu/cpu9/topology/core_cpus | 1 + .../cpu/cpu9/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu9/topology/core_id | 1 + .../cpu/cpu9/topology/core_siblings | 1 + .../cpu/cpu9/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu9/topology/die_cpus | 1 + .../cpu/cpu9/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu9/topology/die_id | 1 + .../cpu/cpu9/topology/package_cpus | 1 + .../cpu/cpu9/topology/package_cpus_list | 1 + .../cpu/cpu9/topology/physical_package_id | 1 + .../cpu/cpu9/topology/thread_siblings | 1 + .../cpu/cpu9/topology/thread_siblings_list | 1 + .../virhostcpudata/linux-with-die/cpu/online | 1 + .../virhostcpudata/linux-with-die/cpu/present | 1 + .../linux-with-die/node/node0/cpu0 | 1 + .../linux-with-die/node/node0/cpu1 | 1 + .../linux-with-die/node/node0/cpu10 | 1 + .../linux-with-die/node/node0/cpu11 | 1 + .../linux-with-die/node/node0/cpu2 | 1 + .../linux-with-die/node/node0/cpu3 | 1 + .../linux-with-die/node/node0/cpu4 | 1 + .../linux-with-die/node/node0/cpu5 | 1 + .../linux-with-die/node/node0/cpu6 | 1 + .../linux-with-die/node/node0/cpu7 | 1 + .../linux-with-die/node/node0/cpu8 | 1 + .../linux-with-die/node/node0/cpu9 | 1 + .../linux-with-die/node/node0/cpulist | 1 + .../virhostcpudata/linux-with-die/node/online | 1 + .../linux-with-die/node/possible | 1 + .../linux-x86_64-with-die.cpuinfo | 323 ++++++++++++++++++ .../linux-x86_64-with-die.expected | 1 + tests/virhostcputest.c | 1 + .../vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml | 2 +- .../vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml | 2 +- 324 files changed, 896 insertions(+), 231 deletions(-) create mode 100644 tests/qemuxml2argvdata/smp-dies.args create mode 100644 tests/qemuxml2argvdata/smp-dies.xml create mode 120000 tests/vircaps2xmldata/linux-basic-dies/system/cpu create mode 120000 tests/vircaps2xmldata/linux-basic-dies/system/node create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/present create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu0 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu1 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu10 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu11 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu2 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu3 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu4 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu5 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu6 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu7 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu8 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu9 create mode 100644 tests/virhostcpudata/linux-with-die/node/node0/cpulist create mode 100644 tests/virhostcpudata/linux-with-die/node/online create mode 100644 tests/virhostcpudata/linux-with-die/node/possible create mode 100644 tests/virhostcpudata/linux-x86_64-with-die.cpuinfo create mode 100644 tests/virhostcpudata/linux-x86_64-with-die.expected -- 2.23.0

Recently CPU hardware vendors have started to support a new structure inside the CPU package topology known as a "die". Thus the hierarchy is now: sockets > dies > cores > threads This adds support for "dies" in the XML parser, with the value defaulting to 1 if not specified for backwards compatibility. For example a system with 64 logical CPUs might report <topology sockets="4" dies="2" cores="4" threads="2"/> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- docs/formatcaps.html.in | 2 +- docs/formatdomain.html.in | 22 ++++++++++-------- docs/schemas/cputypes.rng | 5 ++++ src/bhyve/bhyve_command.c | 5 ++++ src/conf/cpu_conf.c | 23 +++++++++++++++++-- src/conf/cpu_conf.h | 1 + src/conf/domain_conf.c | 3 ++- src/cpu/cpu.c | 1 + src/libxl/libxl_capabilities.c | 1 + src/qemu/qemu_command.c | 5 ++++ src/vmx/vmx.c | 7 ++++++ .../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 +- .../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 +- .../x86-old-bulk-result-conf.xml | 2 +- .../x86-old-bulk-result-live.xml | 2 +- .../cpu-hotplug-granularity.xml | 2 +- .../qemuxml2argvdata/cpu-hotplug-startup.xml | 2 +- tests/qemuxml2argvdata/cpu-numa-disjoint.xml | 2 +- .../qemuxml2argvdata/cpu-numa-disordered.xml | 2 +- tests/qemuxml2argvdata/cpu-numa-memshared.xml | 2 +- .../cpu-numa-no-memory-element.xml | 2 +- tests/qemuxml2argvdata/cpu-numa1.xml | 2 +- tests/qemuxml2argvdata/cpu-numa2.xml | 2 +- tests/qemuxml2argvdata/cpu-numa3.xml | 2 +- tests/qemuxml2argvdata/cpu-topology1.xml | 2 +- tests/qemuxml2argvdata/cpu-topology2.xml | 2 +- tests/qemuxml2argvdata/cpu-topology3.xml | 2 +- .../fd-memory-no-numa-topology.xml | 2 +- .../fd-memory-numa-topology.xml | 2 +- .../fd-memory-numa-topology2.xml | 2 +- .../fd-memory-numa-topology3.xml | 2 +- .../graphics-spice-timeout.xml | 2 +- tests/qemuxml2argvdata/hugepages-nvdimm.xml | 2 +- .../memfd-memory-default-hugepage.xml | 2 +- tests/qemuxml2argvdata/memfd-memory-numa.xml | 2 +- tests/qemuxml2argvdata/memory-align-fail.xml | 2 +- .../memory-hotplug-dimm-addr.xml | 2 +- .../qemuxml2argvdata/memory-hotplug-dimm.xml | 2 +- .../memory-hotplug-nvdimm-access.xml | 2 +- .../memory-hotplug-nvdimm-align.xml | 2 +- .../memory-hotplug-nvdimm-label.xml | 2 +- .../memory-hotplug-nvdimm-pmem.xml | 2 +- .../memory-hotplug-nvdimm-readonly.xml | 2 +- .../memory-hotplug-nvdimm.xml | 2 +- tests/qemuxml2argvdata/memory-hotplug.xml | 2 +- .../numad-auto-memory-vcpu-cpuset.xml | 2 +- ...to-memory-vcpu-no-cpuset-and-placement.xml | 2 +- .../numad-auto-vcpu-no-numatune.xml | 2 +- ...d-auto-vcpu-static-numatune-no-nodeset.xml | 2 +- .../numad-auto-vcpu-static-numatune.xml | 2 +- .../numad-static-memory-auto-vcpu.xml | 2 +- .../numad-static-vcpu-no-numatune.xml | 2 +- tests/qemuxml2argvdata/numad.xml | 2 +- .../numatune-auto-nodeset-invalid.xml | 2 +- .../numatune-memory-invalid-nodeset.xml | 2 +- tests/qemuxml2argvdata/numatune-memory.xml | 2 +- .../pci-expander-bus-bad-machine.xml | 2 +- tests/qemuxml2argvdata/pci-expander-bus.xml | 2 +- .../pcie-expander-bus-bad-bus.xml | 2 +- .../pcie-expander-bus-bad-machine.xml | 2 +- tests/qemuxml2argvdata/pcie-expander-bus.xml | 2 +- .../pseries-default-phb-numa-node.xml | 2 +- .../pseries-phb-numa-node.xml | 2 +- tests/qemuxml2argvdata/smp.xml | 2 +- .../qemuxml2xmloutdata/cpu-numa-disjoint.xml | 2 +- .../cpu-numa-disordered.xml | 2 +- .../qemuxml2xmloutdata/cpu-numa-memshared.xml | 2 +- .../cpu-numa-no-memory-element.xml | 2 +- tests/qemuxml2xmloutdata/cpu-numa1.xml | 2 +- tests/qemuxml2xmloutdata/cpu-numa2.xml | 2 +- .../graphics-spice-timeout.xml | 2 +- .../memory-hotplug-dimm.xml | 2 +- tests/qemuxml2xmloutdata/memory-hotplug.xml | 2 +- .../numad-auto-memory-vcpu-cpuset.xml | 2 +- ...to-memory-vcpu-no-cpuset-and-placement.xml | 2 +- .../numad-auto-vcpu-no-numatune.xml | 2 +- .../numad-static-vcpu-no-numatune.xml | 2 +- tests/qemuxml2xmloutdata/pci-expander-bus.xml | 2 +- .../qemuxml2xmloutdata/pcie-expander-bus.xml | 2 +- .../pseries-phb-numa-node.xml | 2 +- tests/qemuxml2xmloutdata/smp.xml | 2 +- .../vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml | 2 +- .../vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml | 2 +- 98 files changed, 148 insertions(+), 101 deletions(-) diff --git a/docs/formatcaps.html.in b/docs/formatcaps.html.in index 2a0aa963bb..59d21a7d9e 100644 --- a/docs/formatcaps.html.in +++ b/docs/formatcaps.html.in @@ -173,7 +173,7 @@ </features> <model>core2duo</model> <vendor>Intel</vendor> - <topology sockets="1" cores="2" threads="1"/> + <topology sockets="1" dies="1" cores="2" threads="1"/> <feature name="lahf_lm"/> <feature name='xtpr'/> ... diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 6e86d057a8..4db9c292b7 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -1470,7 +1470,7 @@ <cpu match='exact'> <model fallback='allow'>core2duo</model> <vendor>Intel</vendor> - <topology sockets='1' cores='2' threads='1'/> + <topology sockets='1' dies='1' cores='2' threads='1'/> <cache level='3' mode='emulate'/> <feature policy='disable' name='lahf_lm'/> </cpu> @@ -1479,7 +1479,7 @@ <pre> <cpu mode='host-model'> <model fallback='forbid'/> - <topology sockets='1' cores='2' threads='1'/> + <topology sockets='1' dies='1' cores='2' threads='1'/> </cpu> ...</pre> @@ -1498,7 +1498,7 @@ <pre> ... <cpu> - <topology sockets='1' cores='2' threads='1'/> + <topology sockets='1' dies='1' cores='2' threads='1'/> </cpu> ...</pre> @@ -1673,13 +1673,15 @@ <dt><code>topology</code></dt> <dd>The <code>topology</code> element specifies requested topology of - virtual CPU provided to the guest. Three non-zero values have to be - given for <code>sockets</code>, <code>cores</code>, and - <code>threads</code>: total number of CPU sockets, number of cores per - socket, and number of threads per core, respectively. Hypervisors may - require that the maximum number of vCPUs specified by the - <code>cpus</code> element equals to the number of vcpus resulting - from the topology.</dd> + virtual CPU provided to the guest. Four attributes, <code>sockets</code>, + <code>dies</code>, <code>cores</code>, and <code>threads</code>, + accept non-zero positive integer values. They refer to the total number + of CPU sockets, number of dies per socket, number of cores per die, and + number of threads per core, respectively. The <code>dies</code> + attribute is optional and will default to 1 if omitted, while the other + attributes are all mandatory. Hypervisors may require that the maximum + number of vCPUs specified by the <code>cpus</code> element equals to + the number of vcpus resulting from the topology.</dd> <dt><code>feature</code></dt> <dd>The <code>cpu</code> element can contain zero or more diff --git a/docs/schemas/cputypes.rng b/docs/schemas/cputypes.rng index 1f1e0e36d5..e2744acad3 100644 --- a/docs/schemas/cputypes.rng +++ b/docs/schemas/cputypes.rng @@ -86,6 +86,11 @@ <attribute name="sockets"> <ref name="positiveInteger"/> </attribute> + <optional> + <attribute name="dies"> + <ref name="positiveInteger"/> + </attribute> + </optional> <attribute name="cores"> <ref name="positiveInteger"/> </attribute> diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index 48336ffa1b..d78221aea8 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -453,6 +453,11 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn, /* CPUs */ virCommandAddArg(cmd, "-c"); if (def->cpu && def->cpu->sockets) { + if (def->dies != 1) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Only 1 die per socket is supported")); + goto cleanup; + } if (nvcpus != def->cpu->sockets * def->cpu->cores * def->cpu->threads) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Invalid CPU topology: total number of vCPUs " diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index b463981de0..837d77581c 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -239,6 +239,7 @@ virCPUDefCopyWithoutModel(const virCPUDef *cpu) copy->check = cpu->check; copy->fallback = cpu->fallback; copy->sockets = cpu->sockets; + copy->dies = cpu->dies; copy->cores = cpu->cores; copy->threads = cpu->threads; copy->arch = cpu->arch; @@ -535,6 +536,17 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, } def->sockets = (unsigned int) ul; + if (virXPathNode("./topology[1]/@dies", ctxt)) { + if (virXPathULong("string(./topology[1]/@dies)", ctxt, &ul) < 0) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("Malformed 'dies' attribute in CPU topology")); + goto cleanup; + } + def->dies = (unsigned int) ul; + } else { + def->dies = 1; + } + if (virXPathULong("string(./topology[1]/@cores)", ctxt, &ul) < 0) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Missing 'cores' attribute in CPU topology")); @@ -549,7 +561,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, } def->threads = (unsigned int) ul; - if (!def->sockets || !def->cores || !def->threads) { + if (!def->sockets || !def->cores || !def->threads || !def->dies) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Invalid CPU topology")); goto cleanup; @@ -817,9 +829,10 @@ virCPUDefFormatBuf(virBufferPtr buf, virBufferAddLit(buf, "/>\n"); } - if (def->sockets && def->cores && def->threads) { + if (def->sockets && def->dies && def->cores && def->threads) { virBufferAddLit(buf, "<topology"); virBufferAsprintf(buf, " sockets='%u'", def->sockets); + virBufferAsprintf(buf, " dies='%u'", def->dies); virBufferAsprintf(buf, " cores='%u'", def->cores); virBufferAsprintf(buf, " threads='%u'", def->threads); virBufferAddLit(buf, "/>\n"); @@ -1058,6 +1071,12 @@ virCPUDefIsEqual(virCPUDefPtr src, return false; } + if (src->dies != dst->dies) { + MISMATCH(_("Target CPU dies %d does not match source %d"), + dst->dies, src->dies); + return false; + } + if (src->cores != dst->cores) { MISMATCH(_("Target CPU cores %d does not match source %d"), dst->cores, src->cores); diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h index ec3d2379cf..6cef9e9726 100644 --- a/src/conf/cpu_conf.h +++ b/src/conf/cpu_conf.h @@ -134,6 +134,7 @@ struct _virCPUDef { char *vendor; unsigned int microcodeVersion; unsigned int sockets; + unsigned int dies; unsigned int cores; unsigned int threads; size_t nfeatures; diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 1290241923..dec3ab91ea 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -2053,7 +2053,8 @@ virDomainDefGetVcpusTopology(const virDomainDef *def, tmp = def->cpu->sockets; /* multiplication of 32bit numbers fits into a 64bit variable */ - if ((tmp *= def->cpu->cores) > UINT_MAX || + if ((tmp *= def->cpu->dies) > UINT_MAX || + (tmp *= def->cpu->cores) > UINT_MAX || (tmp *= def->cpu->threads) > UINT_MAX) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("cpu topology results in more than %u cpus"), UINT_MAX); diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index a2ae5b8c07..d9288cc85a 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -421,6 +421,7 @@ virCPUGetHost(virArch arch, if (nodeInfo) { cpu->sockets = nodeInfo->sockets; + cpu->dies = 1; cpu->cores = nodeInfo->cores; cpu->threads = nodeInfo->threads; } diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index e9f958cd8a..beac8c8cfc 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -186,6 +186,7 @@ libxlCapsInitCPU(virCapsPtr caps, libxl_physinfo *phy_info, cpu->type = VIR_CPU_TYPE_HOST; cpu->cores = phy_info->cores_per_socket; cpu->threads = phy_info->threads_per_core; + cpu->dies = 1; cpu->sockets = phy_info->nr_cpus / (cpu->cores * cpu->threads); caps->host.cpu = cpu; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 904d2beab5..6157dc402a 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7109,6 +7109,11 @@ qemuBuildSmpCommandLine(virCommandPtr cmd, /* sockets, cores, and threads are either all zero * or all non-zero, thus checking one of them is enough */ if (def->cpu && def->cpu->sockets) { + if (def->cpu->dies != 1) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Only 1 die per socket is supported")); + return -1; + } virBufferAsprintf(&buf, ",sockets=%u", def->cpu->sockets); virBufferAsprintf(&buf, ",cores=%u", def->cpu->cores); virBufferAsprintf(&buf, ",threads=%u", def->cpu->threads); diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index aa88dfcb5d..4362da6cee 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -1485,6 +1485,7 @@ virVMXParseConfig(virVMXContext *ctx, "'numvcpus'")); goto cleanup; } + cpu->dies = 1; cpu->cores = coresPerSocket; cpu->threads = 1; @@ -3206,6 +3207,12 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDe goto cleanup; } + if (def->cpu->dies != 1) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Only 1 die per socket is supported")); + goto cleanup; + } + calculated_vcpus = def->cpu->sockets * def->cpu->cores; if (calculated_vcpus != maxvcpus) { virReportError(VIR_ERR_INTERNAL_ERROR, diff --git a/tests/cputestdata/x86_64-host+guest,model486-result.xml b/tests/cputestdata/x86_64-host+guest,model486-result.xml index 85564ff458..ea8e2d3a48 100644 --- a/tests/cputestdata/x86_64-host+guest,model486-result.xml +++ b/tests/cputestdata/x86_64-host+guest,model486-result.xml @@ -1,6 +1,6 @@ <cpu mode='custom' match='exact'> <model fallback='allow'>486</model> - <topology sockets='2' cores='4' threads='1'/> + <topology sockets='2' dies='1' cores='4' threads='1'/> <feature policy='require' name='de'/> <feature policy='require' name='tsc'/> <feature policy='require' name='msr'/> diff --git a/tests/cputestdata/x86_64-host+guest,models-result.xml b/tests/cputestdata/x86_64-host+guest,models-result.xml index f79ed324c1..0dd6955898 100644 --- a/tests/cputestdata/x86_64-host+guest,models-result.xml +++ b/tests/cputestdata/x86_64-host+guest,models-result.xml @@ -1,6 +1,6 @@ <cpu mode='custom' match='exact'> <model fallback='allow'>Nehalem</model> - <topology sockets='2' cores='4' threads='1'/> + <topology sockets='2' dies='1' cores='4' threads='1'/> <feature policy='force' name='pbe'/> <feature policy='force' name='monitor'/> <feature policy='require' name='xtpr'/> diff --git a/tests/cputestdata/x86_64-host+guest-result.xml b/tests/cputestdata/x86_64-host+guest-result.xml index 137a3d6647..28e3152cbf 100644 --- a/tests/cputestdata/x86_64-host+guest-result.xml +++ b/tests/cputestdata/x86_64-host+guest-result.xml @@ -1,6 +1,6 @@ <cpu mode='custom' match='exact'> <model fallback='allow'>Penryn</model> - <topology sockets='2' cores='4' threads='1'/> + <topology sockets='2' dies='1' cores='4' threads='1'/> <feature policy='require' name='dca'/> <feature policy='require' name='xtpr'/> <feature policy='disable' name='sse4.2'/> diff --git a/tests/cputestdata/x86_64-host+guest.xml b/tests/cputestdata/x86_64-host+guest.xml index 137a3d6647..28e3152cbf 100644 --- a/tests/cputestdata/x86_64-host+guest.xml +++ b/tests/cputestdata/x86_64-host+guest.xml @@ -1,6 +1,6 @@ <cpu mode='custom' match='exact'> <model fallback='allow'>Penryn</model> - <topology sockets='2' cores='4' threads='1'/> + <topology sockets='2' dies='1' cores='4' threads='1'/> <feature policy='require' name='dca'/> <feature policy='require' name='xtpr'/> <feature policy='disable' name='sse4.2'/> diff --git a/tests/cputestdata/x86_64-host+host-model-nofallback.xml b/tests/cputestdata/x86_64-host+host-model-nofallback.xml index 0c3ede0f6a..16d6e1daf2 100644 --- a/tests/cputestdata/x86_64-host+host-model-nofallback.xml +++ b/tests/cputestdata/x86_64-host+host-model-nofallback.xml @@ -1,7 +1,7 @@ <cpu mode='custom' match='exact'> <model fallback='forbid'>Penryn</model> <vendor>Intel</vendor> - <topology sockets='1' cores='2' threads='1'/> + <topology sockets='1' dies='1' cores='2' threads='1'/> <feature policy='require' name='dca'/> <feature policy='require' name='xtpr'/> <feature policy='require' name='tm2'/> diff --git a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml index 2dbe06c314..8eda6684a0 100644 --- a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml +++ b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml @@ -1,6 +1,6 @@ <cpu mode='custom' match='exact'> <model fallback='allow'>Haswell</model> - <topology sockets='1' cores='2' threads='2'/> + <topology sockets='1' dies='1' cores='2' threads='2'/> <feature policy='disable' name='rtm'/> <feature policy='disable' name='hle'/> </cpu> diff --git a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml index 5d149bb295..cb02449d60 100644 --- a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml +++ b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml @@ -1,6 +1,6 @@ <cpu mode='custom' match='exact'> <model fallback='allow'>Haswell</model> - <topology sockets='1' cores='2' threads='2'/> + <topology sockets='1' dies='1' cores='2' threads='2'/> <feature policy='disable' name='hle'/> <feature policy='disable' name='rtm'/> </cpu> diff --git a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml index 3b74089647..7ee926aba8 100644 --- a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml +++ b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml @@ -1,4 +1,4 @@ <cpu mode='custom' match='exact'> <model fallback='allow'>Haswell-noTSX</model> - <topology sockets='1' cores='2' threads='2'/> + <topology sockets='1' dies='1' cores='2' threads='2'/> </cpu> diff --git a/tests/cputestdata/x86_64-host-worse+guest-result.xml b/tests/cputestdata/x86_64-host-worse+guest-result.xml index 2edc8756c4..9d54c66a8f 100644 --- a/tests/cputestdata/x86_64-host-worse+guest-result.xml +++ b/tests/cputestdata/x86_64-host-worse+guest-result.xml @@ -1,6 +1,6 @@ <cpu mode='custom' match='exact'> <model fallback='allow'>Penryn</model> - <topology sockets='2' cores='4' threads='1'/> + <topology sockets='2' dies='1' cores='4' threads='1'/> <feature policy='disable' name='dca'/> <feature policy='disable' name='xtpr'/> <feature policy='disable' name='sse4.2'/> diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml index 1a769235a3..f80c4367df 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml @@ -43,7 +43,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='1' cores='4' threads='8'/> + <topology sockets='1' dies='1' cores='4' threads='8'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml index 43e6267250..7998b978fb 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml @@ -43,7 +43,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='1' cores='4' threads='8'/> + <topology sockets='1' dies='1' cores='4' threads='8'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml index cfb44cc433..2a48a97eef 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml @@ -43,7 +43,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='1' cores='4' threads='8'/> + <topology sockets='1' dies='1' cores='4' threads='8'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml index 0a8d372149..90518d1fa9 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml @@ -43,7 +43,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='1' cores='4' threads='8'/> + <topology sockets='1' dies='1' cores='4' threads='8'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml index 6457f4056b..0d622fc8ae 100644 --- a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml +++ b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml @@ -19,7 +19,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='4' cores='2' threads='1'/> + <topology sockets='4' dies='1' cores='2' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml index fe9a81a091..ed9deaea4a 100644 --- a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml +++ b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml @@ -19,7 +19,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='4' cores='2' threads='1'/> + <topology sockets='4' dies='1' cores='2' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml index 58c088de88..342f172108 100644 --- a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml +++ b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml @@ -19,7 +19,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='4' cores='2' threads='1'/> + <topology sockets='4' dies='1' cores='2' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml index 12b28be5fe..b8341c74e5 100644 --- a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml +++ b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml @@ -19,7 +19,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='4' cores='2' threads='1'/> + <topology sockets='4' dies='1' cores='2' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuhotplugtestcpus/x86-old-bulk-result-conf.xml b/tests/qemuhotplugtestcpus/x86-old-bulk-result-conf.xml index f635e37b82..29da89f5bc 100644 --- a/tests/qemuhotplugtestcpus/x86-old-bulk-result-conf.xml +++ b/tests/qemuhotplugtestcpus/x86-old-bulk-result-conf.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='4' cores='2' threads='1'/> + <topology sockets='4' dies='1' cores='2' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuhotplugtestcpus/x86-old-bulk-result-live.xml b/tests/qemuhotplugtestcpus/x86-old-bulk-result-live.xml index 6f50bb5c12..f81194db5b 100644 --- a/tests/qemuhotplugtestcpus/x86-old-bulk-result-live.xml +++ b/tests/qemuhotplugtestcpus/x86-old-bulk-result-live.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='4' cores='2' threads='1'/> + <topology sockets='4' dies='1' cores='2' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/cpu-hotplug-granularity.xml b/tests/qemuxml2argvdata/cpu-hotplug-granularity.xml index a94f41e46a..bf6a42c306 100644 --- a/tests/qemuxml2argvdata/cpu-hotplug-granularity.xml +++ b/tests/qemuxml2argvdata/cpu-hotplug-granularity.xml @@ -7,7 +7,7 @@ <type arch='ppc64' machine='pseries'>hvm</type> </os> <cpu> - <topology sockets='1' cores='2' threads='4'/> + <topology sockets='1' dies='1' cores='2' threads='4'/> </cpu> <devices> <emulator>/usr/bin/qemu-system-ppc64</emulator> diff --git a/tests/qemuxml2argvdata/cpu-hotplug-startup.xml b/tests/qemuxml2argvdata/cpu-hotplug-startup.xml index 99987ba15a..9d764e2f8c 100644 --- a/tests/qemuxml2argvdata/cpu-hotplug-startup.xml +++ b/tests/qemuxml2argvdata/cpu-hotplug-startup.xml @@ -17,7 +17,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets="3" cores="2" threads="1"/> + <topology sockets="3" dies="1" cores="2" threads="1"/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/cpu-numa-disjoint.xml b/tests/qemuxml2argvdata/cpu-numa-disjoint.xml index b022384e97..c164b15e82 100644 --- a/tests/qemuxml2argvdata/cpu-numa-disjoint.xml +++ b/tests/qemuxml2argvdata/cpu-numa-disjoint.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-3,8-11' memory='109550' unit='KiB'/> <cell id='1' cpus='4-7,12-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/cpu-numa-disordered.xml b/tests/qemuxml2argvdata/cpu-numa-disordered.xml index e209150a55..6e00b91281 100644 --- a/tests/qemuxml2argvdata/cpu-numa-disordered.xml +++ b/tests/qemuxml2argvdata/cpu-numa-disordered.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-5' memory='109550' unit='KiB'/> <cell id='2' cpus='6-10' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/cpu-numa-memshared.xml b/tests/qemuxml2argvdata/cpu-numa-memshared.xml index 7e05916f78..f2ef035b00 100644 --- a/tests/qemuxml2argvdata/cpu-numa-memshared.xml +++ b/tests/qemuxml2argvdata/cpu-numa-memshared.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-7' memory='109550' unit='KiB' memAccess='shared'/> <cell id='1' cpus='8-15' memory='109550' unit='KiB' memAccess='private'/> diff --git a/tests/qemuxml2argvdata/cpu-numa-no-memory-element.xml b/tests/qemuxml2argvdata/cpu-numa-no-memory-element.xml index ee6b6aa870..97dac01e84 100644 --- a/tests/qemuxml2argvdata/cpu-numa-no-memory-element.xml +++ b/tests/qemuxml2argvdata/cpu-numa-no-memory-element.xml @@ -8,7 +8,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='1' cpus='8-15' memory='109550' unit='KiB'/> <cell id='0' cpus='0-7' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/cpu-numa1.xml b/tests/qemuxml2argvdata/cpu-numa1.xml index b21941d51a..867d21e152 100644 --- a/tests/qemuxml2argvdata/cpu-numa1.xml +++ b/tests/qemuxml2argvdata/cpu-numa1.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell cpus='0-7' memory='109550' unit='KiB'/> <cell cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/cpu-numa2.xml b/tests/qemuxml2argvdata/cpu-numa2.xml index b85b19f5e0..e589948dc7 100644 --- a/tests/qemuxml2argvdata/cpu-numa2.xml +++ b/tests/qemuxml2argvdata/cpu-numa2.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='1' cpus='8-15' memory='109550' unit='KiB'/> <cell id='0' cpus='0-7' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/cpu-numa3.xml b/tests/qemuxml2argvdata/cpu-numa3.xml index e2b9e9014d..350fbe7c07 100644 --- a/tests/qemuxml2argvdata/cpu-numa3.xml +++ b/tests/qemuxml2argvdata/cpu-numa3.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='1' cpus='0-7' memory='109550' unit='KiB'/> <cell id='2' cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/cpu-topology1.xml b/tests/qemuxml2argvdata/cpu-topology1.xml index 9d77d10a5c..af82a1c51a 100644 --- a/tests/qemuxml2argvdata/cpu-topology1.xml +++ b/tests/qemuxml2argvdata/cpu-topology1.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets="3" cores="2" threads="1"/> + <topology sockets="3" dies="1" cores="2" threads="1"/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/cpu-topology2.xml b/tests/qemuxml2argvdata/cpu-topology2.xml index 9d9701914a..1b113b8b13 100644 --- a/tests/qemuxml2argvdata/cpu-topology2.xml +++ b/tests/qemuxml2argvdata/cpu-topology2.xml @@ -10,7 +10,7 @@ </os> <cpu match='exact'> <model>core2duo</model> - <topology sockets="1" cores="2" threads="3"/> + <topology sockets="1" dies="1" cores="2" threads="3"/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/cpu-topology3.xml b/tests/qemuxml2argvdata/cpu-topology3.xml index 9d77d10a5c..af82a1c51a 100644 --- a/tests/qemuxml2argvdata/cpu-topology3.xml +++ b/tests/qemuxml2argvdata/cpu-topology3.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets="3" cores="2" threads="1"/> + <topology sockets="3" dies="1" cores="2" threads="1"/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml b/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml index 4c30761110..eb3300b1fb 100644 --- a/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml +++ b/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml @@ -14,7 +14,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='8' cores='1' threads='1'/> + <topology sockets='8' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/fd-memory-numa-topology.xml b/tests/qemuxml2argvdata/fd-memory-numa-topology.xml index f22a8e81f8..b7b5a19166 100644 --- a/tests/qemuxml2argvdata/fd-memory-numa-topology.xml +++ b/tests/qemuxml2argvdata/fd-memory-numa-topology.xml @@ -14,7 +14,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='1' cores='8' threads='1'/> + <topology sockets='1' dies='1' cores='8' threads='1'/> <numa> <cell id='0' cpus='0-7' memory='14680064' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml b/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml index 925f39b6ab..07de0bd717 100644 --- a/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml +++ b/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml @@ -14,7 +14,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='1' cores='8' threads='1'/> + <topology sockets='1' dies='1' cores='8' threads='1'/> <numa> <cell id='0' cpus='0-7' memory='14680064' unit='KiB'/> <cell id='1' cpus='8-15' memory='14680064' unit='KiB' memAccess='shared'/> diff --git a/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml b/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml index 71a8e083c9..8711641b68 100644 --- a/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml +++ b/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml @@ -14,7 +14,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='1' cores='24' threads='1'/> + <topology sockets='1' dies='1' cores='24' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='14680064' unit='KiB'/> <cell id='1' cpus='2-3' memory='14680064' unit='KiB' memAccess='shared'/> diff --git a/tests/qemuxml2argvdata/graphics-spice-timeout.xml b/tests/qemuxml2argvdata/graphics-spice-timeout.xml index 6bb4eb8f4c..d96f519bf8 100644 --- a/tests/qemuxml2argvdata/graphics-spice-timeout.xml +++ b/tests/qemuxml2argvdata/graphics-spice-timeout.xml @@ -18,7 +18,7 @@ <cpu match='exact'> <model>core2duo</model> <vendor>Intel</vendor> - <topology sockets='1' cores='2' threads='1'/> + <topology sockets='1' dies='1' cores='2' threads='1'/> <feature policy='require' name='ds'/> <feature policy='require' name='acpi'/> <feature policy='require' name='ss'/> diff --git a/tests/qemuxml2argvdata/hugepages-nvdimm.xml b/tests/qemuxml2argvdata/hugepages-nvdimm.xml index b784777805..144d02b56e 100644 --- a/tests/qemuxml2argvdata/hugepages-nvdimm.xml +++ b/tests/qemuxml2argvdata/hugepages-nvdimm.xml @@ -16,7 +16,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='1048576' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml index 45ff012711..ded56dd538 100644 --- a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml +++ b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml @@ -18,7 +18,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='1' cores='8' threads='1'/> + <topology sockets='1' dies='1' cores='8' threads='1'/> <numa> <cell id='0' cpus='0-7' memory='14680064' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memfd-memory-numa.xml b/tests/qemuxml2argvdata/memfd-memory-numa.xml index f088f01d11..ebe638f600 100644 --- a/tests/qemuxml2argvdata/memfd-memory-numa.xml +++ b/tests/qemuxml2argvdata/memfd-memory-numa.xml @@ -20,7 +20,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='1' cores='8' threads='1'/> + <topology sockets='1' dies='1' cores='8' threads='1'/> <numa> <cell id='0' cpus='0-7' memory='14680064' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-align-fail.xml b/tests/qemuxml2argvdata/memory-align-fail.xml index 75c1a46068..636f0e3d8e 100644 --- a/tests/qemuxml2argvdata/memory-align-fail.xml +++ b/tests/qemuxml2argvdata/memory-align-fail.xml @@ -10,7 +10,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='9007199254740991' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.xml b/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.xml index c289fdd5ff..ea4f4fd745 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.xml +++ b/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.xml @@ -10,7 +10,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-hotplug-dimm.xml b/tests/qemuxml2argvdata/memory-hotplug-dimm.xml index c68336f871..585e0a5f51 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-dimm.xml +++ b/tests/qemuxml2argvdata/memory-hotplug-dimm.xml @@ -14,7 +14,7 @@ <gid start='0' target='1000' count='10'/> </idmap> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml index 4e62dd0e18..a1cc1264eb 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml @@ -14,7 +14,7 @@ <gid start='0' target='1000' count='10'/> </idmap> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml index defa109e80..018a693aaf 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml @@ -14,7 +14,7 @@ <gid start='0' target='1000' count='10'/> </idmap> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml index 89d01d672f..c9d54a6088 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml @@ -14,7 +14,7 @@ <gid start='0' target='1000' count='10'/> </idmap> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml index e6a4f7901a..391d70f20e 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml @@ -14,7 +14,7 @@ <gid start='0' target='1000' count='10'/> </idmap> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml index dd48540712..09b2c5c833 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml @@ -14,7 +14,7 @@ <gid start='0' target='1000' count='10'/> </idmap> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml index 9c76dda6c8..a32474da06 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml @@ -14,7 +14,7 @@ <gid start='0' target='1000' count='10'/> </idmap> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='1048576' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/memory-hotplug.xml b/tests/qemuxml2argvdata/memory-hotplug.xml index e1f086567b..8d09856e95 100644 --- a/tests/qemuxml2argvdata/memory-hotplug.xml +++ b/tests/qemuxml2argvdata/memory-hotplug.xml @@ -10,7 +10,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.xml b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.xml index 50dbc3c466..5758e65d09 100644 --- a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.xml +++ b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml index d9cd6b83f1..80314d05a3 100644 --- a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml +++ b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numad-auto-vcpu-no-numatune.xml b/tests/qemuxml2argvdata/numad-auto-vcpu-no-numatune.xml index f21ba0a786..0edf8ee46f 100644 --- a/tests/qemuxml2argvdata/numad-auto-vcpu-no-numatune.xml +++ b/tests/qemuxml2argvdata/numad-auto-vcpu-no-numatune.xml @@ -9,7 +9,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune-no-nodeset.xml b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune-no-nodeset.xml index 378d17face..517dd5dbd7 100644 --- a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune-no-nodeset.xml +++ b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune-no-nodeset.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.xml b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.xml index e20bd8db0b..a7f32b6802 100644 --- a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.xml +++ b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.xml b/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.xml index 50dbc3c466..5758e65d09 100644 --- a/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.xml +++ b/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numad-static-vcpu-no-numatune.xml b/tests/qemuxml2argvdata/numad-static-vcpu-no-numatune.xml index 7ccaa5aff4..3237e7c7c5 100644 --- a/tests/qemuxml2argvdata/numad-static-vcpu-no-numatune.xml +++ b/tests/qemuxml2argvdata/numad-static-vcpu-no-numatune.xml @@ -9,7 +9,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numad.xml b/tests/qemuxml2argvdata/numad.xml index 081a59a013..ae995e2d6b 100644 --- a/tests/qemuxml2argvdata/numad.xml +++ b/tests/qemuxml2argvdata/numad.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.xml b/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.xml index 44ec55a810..e6ca895b0d 100644 --- a/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.xml +++ b/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numatune-memory-invalid-nodeset.xml b/tests/qemuxml2argvdata/numatune-memory-invalid-nodeset.xml index 441f2b8989..70e7b92f34 100644 --- a/tests/qemuxml2argvdata/numatune-memory-invalid-nodeset.xml +++ b/tests/qemuxml2argvdata/numatune-memory-invalid-nodeset.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/numatune-memory.xml b/tests/qemuxml2argvdata/numatune-memory.xml index c9887dbebc..93ee70cc0b 100644 --- a/tests/qemuxml2argvdata/numatune-memory.xml +++ b/tests/qemuxml2argvdata/numatune-memory.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2argvdata/pci-expander-bus-bad-machine.xml b/tests/qemuxml2argvdata/pci-expander-bus-bad-machine.xml index 606ddfd73c..5093944a1c 100644 --- a/tests/qemuxml2argvdata/pci-expander-bus-bad-machine.xml +++ b/tests/qemuxml2argvdata/pci-expander-bus-bad-machine.xml @@ -8,7 +8,7 @@ <type arch='x86_64' machine='q35'>hvm</type> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell cpus='0-7' memory='109550' unit='KiB'/> <cell cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/pci-expander-bus.xml b/tests/qemuxml2argvdata/pci-expander-bus.xml index 79c959346d..d9aeda1757 100644 --- a/tests/qemuxml2argvdata/pci-expander-bus.xml +++ b/tests/qemuxml2argvdata/pci-expander-bus.xml @@ -8,7 +8,7 @@ <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell cpus='0-7' memory='109550' unit='KiB'/> <cell cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/pcie-expander-bus-bad-bus.xml b/tests/qemuxml2argvdata/pcie-expander-bus-bad-bus.xml index f0ab0a16d1..4a6cb492bb 100644 --- a/tests/qemuxml2argvdata/pcie-expander-bus-bad-bus.xml +++ b/tests/qemuxml2argvdata/pcie-expander-bus-bad-bus.xml @@ -9,7 +9,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell cpus='0-7' memory='109550' unit='KiB'/> <cell cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/pcie-expander-bus-bad-machine.xml b/tests/qemuxml2argvdata/pcie-expander-bus-bad-machine.xml index dc64d97b83..1c27047b75 100644 --- a/tests/qemuxml2argvdata/pcie-expander-bus-bad-machine.xml +++ b/tests/qemuxml2argvdata/pcie-expander-bus-bad-machine.xml @@ -8,7 +8,7 @@ <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell cpus='0-7' memory='109550' unit='KiB'/> <cell cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/pcie-expander-bus.xml b/tests/qemuxml2argvdata/pcie-expander-bus.xml index 5c5d34d1e0..80693f8a1c 100644 --- a/tests/qemuxml2argvdata/pcie-expander-bus.xml +++ b/tests/qemuxml2argvdata/pcie-expander-bus.xml @@ -9,7 +9,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell cpus='0-7' memory='109550' unit='KiB'/> <cell cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/pseries-default-phb-numa-node.xml b/tests/qemuxml2argvdata/pseries-default-phb-numa-node.xml index 12d277aaf8..27f211d59d 100644 --- a/tests/qemuxml2argvdata/pseries-default-phb-numa-node.xml +++ b/tests/qemuxml2argvdata/pseries-default-phb-numa-node.xml @@ -7,7 +7,7 @@ <memnode cellid="0" mode="strict" nodeset="1"/> </numatune> <cpu> - <topology sockets='3' cores='1' threads='8'/> + <topology sockets='3' dies='1' cores='1' threads='8'/> <numa> <cell id='0' cpus='0-23' memory='1048576' unit='KiB'/> </numa> diff --git a/tests/qemuxml2argvdata/pseries-phb-numa-node.xml b/tests/qemuxml2argvdata/pseries-phb-numa-node.xml index aeccb14dfb..52c39d5dbd 100644 --- a/tests/qemuxml2argvdata/pseries-phb-numa-node.xml +++ b/tests/qemuxml2argvdata/pseries-phb-numa-node.xml @@ -8,7 +8,7 @@ <memnode cellid="1" mode="strict" nodeset="2"/> </numatune> <cpu> - <topology sockets='2' cores='1' threads='4'/> + <topology sockets='2' dies='1' cores='1' threads='4'/> <numa> <cell id='0' cpus='0-3' memory='1048576' unit='KiB'/> <cell id='1' cpus='4-7' memory='1048576' unit='KiB'/> diff --git a/tests/qemuxml2argvdata/smp.xml b/tests/qemuxml2argvdata/smp.xml index 55d5cdeff2..6041506ed8 100644 --- a/tests/qemuxml2argvdata/smp.xml +++ b/tests/qemuxml2argvdata/smp.xml @@ -9,7 +9,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2xmloutdata/cpu-numa-disjoint.xml b/tests/qemuxml2xmloutdata/cpu-numa-disjoint.xml index f0ca39b5d3..d7f5372fbc 100644 --- a/tests/qemuxml2xmloutdata/cpu-numa-disjoint.xml +++ b/tests/qemuxml2xmloutdata/cpu-numa-disjoint.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-3,8-11' memory='109550' unit='KiB'/> <cell id='1' cpus='4-7,12-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2xmloutdata/cpu-numa-disordered.xml b/tests/qemuxml2xmloutdata/cpu-numa-disordered.xml index 1e672adc44..487ced1008 100644 --- a/tests/qemuxml2xmloutdata/cpu-numa-disordered.xml +++ b/tests/qemuxml2xmloutdata/cpu-numa-disordered.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-5' memory='109550' unit='KiB'/> <cell id='1' cpus='11-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2xmloutdata/cpu-numa-memshared.xml b/tests/qemuxml2xmloutdata/cpu-numa-memshared.xml index 3db0db047c..f472bffec3 100644 --- a/tests/qemuxml2xmloutdata/cpu-numa-memshared.xml +++ b/tests/qemuxml2xmloutdata/cpu-numa-memshared.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-7' memory='109550' unit='KiB' memAccess='shared'/> <cell id='1' cpus='8-15' memory='109550' unit='KiB' memAccess='private'/> diff --git a/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.xml b/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.xml index 8596baae6c..2ef7f84646 100644 --- a/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.xml +++ b/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-7' memory='109550' unit='KiB'/> <cell id='1' cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2xmloutdata/cpu-numa1.xml b/tests/qemuxml2xmloutdata/cpu-numa1.xml index 8596baae6c..2ef7f84646 100644 --- a/tests/qemuxml2xmloutdata/cpu-numa1.xml +++ b/tests/qemuxml2xmloutdata/cpu-numa1.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-7' memory='109550' unit='KiB'/> <cell id='1' cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2xmloutdata/cpu-numa2.xml b/tests/qemuxml2xmloutdata/cpu-numa2.xml index 8596baae6c..2ef7f84646 100644 --- a/tests/qemuxml2xmloutdata/cpu-numa2.xml +++ b/tests/qemuxml2xmloutdata/cpu-numa2.xml @@ -9,7 +9,7 @@ <boot dev='network'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-7' memory='109550' unit='KiB'/> <cell id='1' cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2xmloutdata/graphics-spice-timeout.xml b/tests/qemuxml2xmloutdata/graphics-spice-timeout.xml index 3f0babd8fc..6e23652448 100644 --- a/tests/qemuxml2xmloutdata/graphics-spice-timeout.xml +++ b/tests/qemuxml2xmloutdata/graphics-spice-timeout.xml @@ -18,7 +18,7 @@ <cpu mode='custom' match='exact' check='partial'> <model fallback='allow'>core2duo</model> <vendor>Intel</vendor> - <topology sockets='1' cores='2' threads='1'/> + <topology sockets='1' dies='1' cores='2' threads='1'/> <feature policy='require' name='ds'/> <feature policy='require' name='acpi'/> <feature policy='require' name='ss'/> diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-dimm.xml b/tests/qemuxml2xmloutdata/memory-hotplug-dimm.xml index f4a118cea5..326b5c954c 100644 --- a/tests/qemuxml2xmloutdata/memory-hotplug-dimm.xml +++ b/tests/qemuxml2xmloutdata/memory-hotplug-dimm.xml @@ -14,7 +14,7 @@ <gid start='0' target='1000' count='10'/> </idmap> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2xmloutdata/memory-hotplug.xml b/tests/qemuxml2xmloutdata/memory-hotplug.xml index 0e02f210bc..0e5295dcd0 100644 --- a/tests/qemuxml2xmloutdata/memory-hotplug.xml +++ b/tests/qemuxml2xmloutdata/memory-hotplug.xml @@ -10,7 +10,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> <numa> <cell id='0' cpus='0-1' memory='219136' unit='KiB'/> </numa> diff --git a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.xml b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.xml index 133177b679..841ea699a1 100644 --- a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.xml +++ b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml index dc14ecd139..2e3998e155 100644 --- a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml +++ b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.xml b/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.xml index 76d7c3b835..7c1f18c216 100644 --- a/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.xml +++ b/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.xml @@ -12,7 +12,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.xml b/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.xml index 523962117e..3d05790c0e 100644 --- a/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.xml +++ b/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.xml @@ -9,7 +9,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/qemuxml2xmloutdata/pci-expander-bus.xml b/tests/qemuxml2xmloutdata/pci-expander-bus.xml index e0d787e57c..60e4e4af7f 100644 --- a/tests/qemuxml2xmloutdata/pci-expander-bus.xml +++ b/tests/qemuxml2xmloutdata/pci-expander-bus.xml @@ -9,7 +9,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-7' memory='109550' unit='KiB'/> <cell id='1' cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2xmloutdata/pcie-expander-bus.xml b/tests/qemuxml2xmloutdata/pcie-expander-bus.xml index 643b4823bb..452d476da6 100644 --- a/tests/qemuxml2xmloutdata/pcie-expander-bus.xml +++ b/tests/qemuxml2xmloutdata/pcie-expander-bus.xml @@ -9,7 +9,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='4' threads='2'/> + <topology sockets='2' dies='1' cores='4' threads='2'/> <numa> <cell id='0' cpus='0-7' memory='109550' unit='KiB'/> <cell id='1' cpus='8-15' memory='109550' unit='KiB'/> diff --git a/tests/qemuxml2xmloutdata/pseries-phb-numa-node.xml b/tests/qemuxml2xmloutdata/pseries-phb-numa-node.xml index 80b771e89d..b05ac334a6 100644 --- a/tests/qemuxml2xmloutdata/pseries-phb-numa-node.xml +++ b/tests/qemuxml2xmloutdata/pseries-phb-numa-node.xml @@ -13,7 +13,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='4'/> + <topology sockets='2' dies='1' cores='1' threads='4'/> <numa> <cell id='0' cpus='0-3' memory='1048576' unit='KiB'/> <cell id='1' cpus='4-7' memory='1048576' unit='KiB'/> diff --git a/tests/qemuxml2xmloutdata/smp.xml b/tests/qemuxml2xmloutdata/smp.xml index d3712cb7df..3e00f578e5 100644 --- a/tests/qemuxml2xmloutdata/smp.xml +++ b/tests/qemuxml2xmloutdata/smp.xml @@ -9,7 +9,7 @@ <boot dev='hd'/> </os> <cpu> - <topology sockets='2' cores='1' threads='1'/> + <topology sockets='2' dies='1' cores='1' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml index eba5f4734a..2011bfb3b9 100644 --- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml @@ -11,7 +11,7 @@ <type arch='x86_64'>hvm</type> </os> <cpu> - <topology sockets='4' cores='2' threads='1'/> + <topology sockets='4' dies='1' cores='2' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml index f1fe6dd4c9..fa428c1986 100644 --- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-9.xml @@ -12,7 +12,7 @@ <type arch='x86_64'>hvm</type> </os> <cpu> - <topology sockets='4' cores='4' threads='1'/> + <topology sockets='4' dies='1' cores='4' threads='1'/> </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> -- 2.23.0

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- src/conf/capabilities.c | 21 --------------------- src/conf/capabilities.h | 6 ------ src/libvirt_private.syms | 1 - 3 files changed, 28 deletions(-) diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index 9a39858280..bf1d9936ed 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -368,27 +368,6 @@ virCapabilitiesHostNUMAAddCell(virCapsHostNUMAPtr caps, g_ptr_array_add(caps->cells, cell); } - -/** - * virCapabilitiesSetHostCPU: - * @caps: capabilities to extend - * @cpu: CPU definition - * - * Sets host CPU specification - */ -int -virCapabilitiesSetHostCPU(virCapsPtr caps, - virCPUDefPtr cpu) -{ - if (cpu == NULL) - return -1; - - caps->host.cpu = cpu; - - return 0; -} - - /** * virCapabilitiesAllocMachines: * @machines: machine variants for emulator ('pc', or 'isapc', etc) diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h index f604e7b95e..4a49e94aa5 100644 --- a/src/conf/capabilities.h +++ b/src/conf/capabilities.h @@ -258,12 +258,6 @@ virCapabilitiesHostNUMAAddCell(virCapsHostNUMAPtr caps, int npageinfo, virCapsHostNUMACellPageInfoPtr pageinfo); - -int -virCapabilitiesSetHostCPU(virCapsPtr caps, - virCPUDefPtr cpu); - - virCapsGuestMachinePtr * virCapabilitiesAllocMachines(const char *const *names, int nnames); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index b97906b852..afa7d4fcae 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -77,7 +77,6 @@ virCapabilitiesHostSecModelAddBaseLabel; virCapabilitiesInitCaches; virCapabilitiesInitPages; virCapabilitiesNew; -virCapabilitiesSetHostCPU; virCapabilitiesSetNetPrefix; -- 2.23.0

QEMU since 4.1.0 supports the "dies" parameter for -smp Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 9 +++-- .../caps_4.1.0.x86_64.xml | 1 + .../caps_4.2.0.aarch64.xml | 1 + .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 + .../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 + .../caps_4.2.0.x86_64.xml | 1 + .../hugepages-nvdimm.x86_64-latest.args | 2 +- ...memory-default-hugepage.x86_64-latest.args | 2 +- .../memfd-memory-numa.x86_64-latest.args | 2 +- ...y-hotplug-nvdimm-access.x86_64-latest.args | 2 +- ...ry-hotplug-nvdimm-align.x86_64-latest.args | 2 +- ...ry-hotplug-nvdimm-label.x86_64-latest.args | 2 +- ...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 2 +- ...hotplug-nvdimm-readonly.x86_64-latest.args | 2 +- .../memory-hotplug-nvdimm.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/smp-dies.args | 29 ++++++++++++++++ tests/qemuxml2argvdata/smp-dies.xml | 33 +++++++++++++++++++ tests/qemuxml2argvtest.c | 1 + 20 files changed, 86 insertions(+), 12 deletions(-) create mode 100644 tests/qemuxml2argvdata/smp-dies.args create mode 100644 tests/qemuxml2argvdata/smp-dies.xml diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index da0c7a257f..f13be371fd 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -553,6 +553,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "blockdev-file-dynamic-auto-read-only", "savevm-monitor-nodes", "drive-nvme", + "smp-dies", ); @@ -2985,6 +2986,7 @@ static struct virQEMUCapsCommandLineProps virQEMUCapsCommandLine[] = { { "sandbox", "elevateprivileges", QEMU_CAPS_SECCOMP_BLACKLIST }, { "chardev", "fd", QEMU_CAPS_CHARDEV_FD_PASS }, { "overcommit", NULL, QEMU_CAPS_OVERCOMMIT }, + { "smp-opts", "dies", QEMU_CAPS_SMP_DIES }, }; static int diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 193c19fc81..ebcb0d1373 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -534,6 +534,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC, /* the auto-read-only property of block backends for files is dynamic */ QEMU_CAPS_SAVEVM_MONITOR_NODES, /* 'savevm' handles monitor-owned nodes properly */ QEMU_CAPS_DRIVE_NVME, /* -drive file.driver=nvme */ + QEMU_CAPS_SMP_DIES, /* -smp dies= */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6157dc402a..eaed106a6d 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7084,7 +7084,8 @@ qemuBuildTSEGCommandLine(virCommandPtr cmd, static int qemuBuildSmpCommandLine(virCommandPtr cmd, - virDomainDefPtr def) + virDomainDefPtr def, + virQEMUCapsPtr qemuCaps) { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; unsigned int maxvcpus = virDomainDefGetVcpusMax(def); @@ -7109,12 +7110,14 @@ qemuBuildSmpCommandLine(virCommandPtr cmd, /* sockets, cores, and threads are either all zero * or all non-zero, thus checking one of them is enough */ if (def->cpu && def->cpu->sockets) { - if (def->cpu->dies != 1) { + if (def->cpu->dies != 1 && !virQEMUCapsGet(qemuCaps, QEMU_CAPS_SMP_DIES)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Only 1 die per socket is supported")); return -1; } virBufferAsprintf(&buf, ",sockets=%u", def->cpu->sockets); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SMP_DIES)) + virBufferAsprintf(&buf, ",dies=%u", def->cpu->dies); virBufferAsprintf(&buf, ",cores=%u", def->cpu->cores); virBufferAsprintf(&buf, ",threads=%u", def->cpu->threads); } else { @@ -9802,7 +9805,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, if (qemuBuildMemCommandLine(cmd, cfg, def, qemuCaps, priv) < 0) return NULL; - if (qemuBuildSmpCommandLine(cmd, def) < 0) + if (qemuBuildSmpCommandLine(cmd, def, qemuCaps) < 0) return NULL; if (qemuBuildIOThreadCommandLine(cmd, def) < 0) diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml index a98945de0e..54b797a86a 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -215,6 +215,7 @@ <flag name='ramfb'/> <flag name='blockdev-file-dynamic-auto-read-only'/> <flag name='drive-nvme'/> + <flag name='smp-dies'/> <version>4001000</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100241</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index a6469073fd..184bb7ff77 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -175,6 +175,7 @@ <flag name='blockdev-file-dynamic-auto-read-only'/> <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> + <flag name='smp-dies'/> <version>4001050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>61700242</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index ee9fb23640..7c62546d74 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -176,6 +176,7 @@ <flag name='machine.pseries.cap-ccf-assist'/> <flag name='blockdev-file-dynamic-auto-read-only'/> <flag name='drive-nvme'/> + <flag name='smp-dies'/> <version>4001050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>42900242</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index fdf5cb4ce9..c8746f05ef 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -135,6 +135,7 @@ <flag name='query-cpu-model-comparison'/> <flag name='blockdev-file-dynamic-auto-read-only'/> <flag name='drive-nvme'/> + <flag name='smp-dies'/> <version>4001050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>39100242</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 4857e2f5a5..afd59a269d 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -218,6 +218,7 @@ <flag name='blockdev-file-dynamic-auto-read-only'/> <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> + <flag name='smp-dies'/> <version>4002000</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100242</microcodeVersion> diff --git a/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args b/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args index 9056e56cb7..0d795dca91 100644 --- a/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args @@ -15,7 +15,7 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \ -m size=1048576k,slots=16,maxmem=1099511627776k \ -overcommit mem-lock=off \ --smp 2,sockets=2,cores=1,threads=1 \ +-smp 2,sockets=2,dies=1,cores=1,threads=1 \ -object memory-backend-file,id=ram-node0,prealloc=yes,\ mem-path=/dev/hugepages2M/libvirt/qemu/-1-QEMUGuest1,share=yes,size=1073741824 \ -numa node,nodeid=0,cpus=0-1,memdev=ram-node0 \ diff --git a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args index 998c9f98bd..a655fb1f7c 100644 --- a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args @@ -16,7 +16,7 @@ file=/tmp/lib/domain--1-instance-00000092/master-key.aes \ -m 14336 \ -mem-prealloc \ -overcommit mem-lock=off \ --smp 8,sockets=1,cores=8,threads=1 \ +-smp 8,sockets=1,dies=1,cores=8,threads=1 \ -object memory-backend-memfd,id=ram-node0,hugetlb=yes,hugetlbsize=2097152,\ share=yes,size=15032385536,host-nodes=3,policy=preferred \ -numa node,nodeid=0,cpus=0-7,memdev=ram-node0 \ diff --git a/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args b/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args index 998c9f98bd..a655fb1f7c 100644 --- a/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args @@ -16,7 +16,7 @@ file=/tmp/lib/domain--1-instance-00000092/master-key.aes \ -m 14336 \ -mem-prealloc \ -overcommit mem-lock=off \ --smp 8,sockets=1,cores=8,threads=1 \ +-smp 8,sockets=1,dies=1,cores=8,threads=1 \ -object memory-backend-memfd,id=ram-node0,hugetlb=yes,hugetlbsize=2097152,\ share=yes,size=15032385536,host-nodes=3,policy=preferred \ -numa node,nodeid=0,cpus=0-7,memdev=ram-node0 \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args index beac9ab22a..c8a6ec5755 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args @@ -15,7 +15,7 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \ -m size=219136k,slots=16,maxmem=1099511627776k \ -overcommit mem-lock=off \ --smp 2,sockets=2,cores=1,threads=1 \ +-smp 2,sockets=2,dies=1,cores=1,threads=1 \ -numa node,nodeid=0,cpus=0-1,mem=214 \ -object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\ share=no,size=536870912 \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args index 3e599098f0..60e9e80039 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args @@ -15,7 +15,7 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \ -m size=219136k,slots=16,maxmem=1099511627776k \ -overcommit mem-lock=off \ --smp 2,sockets=2,cores=1,threads=1 \ +-smp 2,sockets=2,dies=1,cores=1,threads=1 \ -numa node,nodeid=0,cpus=0-1,mem=214 \ -object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\ share=no,size=536870912,align=2097152 \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args index 05a473dbcc..8c5e483cbb 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args @@ -15,7 +15,7 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \ -m size=219136k,slots=16,maxmem=1099511627776k \ -overcommit mem-lock=off \ --smp 2,sockets=2,cores=1,threads=1 \ +-smp 2,sockets=2,dies=1,cores=1,threads=1 \ -numa node,nodeid=0,cpus=0-1,mem=214 \ -object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\ share=no,size=536870912 \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args index c3554ac101..7f77ab9fce 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args @@ -15,7 +15,7 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \ -m size=219136k,slots=16,maxmem=1099511627776k \ -overcommit mem-lock=off \ --smp 2,sockets=2,cores=1,threads=1 \ +-smp 2,sockets=2,dies=1,cores=1,threads=1 \ -numa node,nodeid=0,cpus=0-1,mem=214 \ -object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\ share=no,size=536870912,pmem=on \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args index e1d3fc57a4..631835a380 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args @@ -15,7 +15,7 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \ -m size=219136k,slots=16,maxmem=1099511627776k \ -overcommit mem-lock=off \ --smp 2,sockets=2,cores=1,threads=1 \ +-smp 2,sockets=2,dies=1,cores=1,threads=1 \ -numa node,nodeid=0,cpus=0-1,mem=214 \ -object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\ share=no,size=536870912 \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args index dc6ddd3a0e..48221a5526 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args @@ -15,7 +15,7 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \ -m size=1048576k,slots=16,maxmem=1099511627776k \ -overcommit mem-lock=off \ --smp 2,sockets=2,cores=1,threads=1 \ +-smp 2,sockets=2,dies=1,cores=1,threads=1 \ -numa node,nodeid=0,cpus=0-1,mem=1024 \ -object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\ size=536870912 \ diff --git a/tests/qemuxml2argvdata/smp-dies.args b/tests/qemuxml2argvdata/smp-dies.args new file mode 100644 index 0000000000..632e9d8e34 --- /dev/null +++ b/tests/qemuxml2argvdata/smp-dies.args @@ -0,0 +1,29 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i386 \ +-name QEMUGuest1 \ +-S \ +-machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-m 214 \ +-realtime mlock=off \ +-smp 1,maxcpus=4,sockets=2,dies=2,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\ +server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-no-acpi \ +-usb \ +-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ +-device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 diff --git a/tests/qemuxml2argvdata/smp-dies.xml b/tests/qemuxml2argvdata/smp-dies.xml new file mode 100644 index 0000000000..caadaef8b5 --- /dev/null +++ b/tests/qemuxml2argvdata/smp-dies.xml @@ -0,0 +1,33 @@ +<domain type='qemu'> + <name>QEMUGuest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory unit='KiB'>219136</memory> + <currentMemory unit='KiB'>219136</currentMemory> + <vcpu placement='static' current='1'>4</vcpu> + <os> + <type arch='i686' machine='pc'>hvm</type> + <boot dev='hd'/> + </os> + <cpu> + <topology sockets='2' dies='2' cores='1' threads='1'/> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-i386</emulator> + <disk type='block' device='disk'> + <driver name='qemu' type='raw'/> + <source dev='/dev/HostVG/QEMUGuest1'/> + <target dev='hda' bus='ide'/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + <controller type='usb' index='0'/> + <controller type='ide' index='0'/> + <controller type='pci' index='0' model='pci-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 8af2ba38d3..c2a90c109e 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1689,6 +1689,7 @@ mymain(void) DO_TEST("qemu-ns-alt", NONE); DO_TEST("smp", NONE); + DO_TEST("smp-dies", QEMU_CAPS_SMP_DIES); DO_TEST("iothreads", QEMU_CAPS_OBJECT_IOTHREAD); DO_TEST("iothreads-ids", QEMU_CAPS_OBJECT_IOTHREAD); -- 2.23.0

Update the host CPU code to report the die_id in the NUMA topology capabilities. On systems with multiple dies, this fixes the bug where CPU cores can't be distinguished: <cpus num='12'> <cpu id='0' socket_id='0' core_id='0' siblings='0'/> <cpu id='1' socket_id='0' core_id='1' siblings='1'/> <cpu id='2' socket_id='0' core_id='0' siblings='2'/> <cpu id='3' socket_id='0' core_id='1' siblings='3'/> </cpus> Notice how core_id is repeated within the scope of the same socket_id. It now reports <cpus num='12'> <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/> <cpu id='2' socket_id='0' die_id='1' core_id='0' siblings='2'/> <cpu id='3' socket_id='0' die_id='1' core_id='1' siblings='3'/> </cpus> So core_id is now unique within a (socket_id, die_id) pair. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- docs/schemas/capability.rng | 3 ++ src/conf/capabilities.c | 5 ++- src/conf/capabilities.h | 1 + src/libvirt_linux.syms | 1 + src/util/virhostcpu.c | 16 ++++++++++ src/util/virhostcpu.h | 1 + .../vircaps2xmldata/vircaps-aarch64-basic.xml | 32 +++++++++---------- .../vircaps2xmldata/vircaps-x86_64-basic.xml | 32 +++++++++---------- .../vircaps2xmldata/vircaps-x86_64-caches.xml | 16 +++++----- .../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 +++++++------- 15 files changed, 116 insertions(+), 91 deletions(-) diff --git a/docs/schemas/capability.rng b/docs/schemas/capability.rng index 91ee523116..031c55bf20 100644 --- a/docs/schemas/capability.rng +++ b/docs/schemas/capability.rng @@ -265,6 +265,9 @@ <attribute name='socket_id'> <ref name='unsignedInt'/> </attribute> + <attribute name='die_id'> + <ref name='unsignedInt'/> + </attribute> <attribute name='core_id'> <ref name='unsignedInt'/> </attribute> diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index bf1d9936ed..4bbc79334e 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -874,8 +874,9 @@ virCapabilitiesHostNUMAFormat(virCapsHostNUMAPtr caps, return -1; virBufferAsprintf(buf, - " socket_id='%d' core_id='%d' siblings='%s'", + " socket_id='%d' die_id='%d' core_id='%d' siblings='%s'", cell->cpus[j].socket_id, + cell->cpus[j].die_id, cell->cpus[j].core_id, siblings); VIR_FREE(siblings); @@ -1463,6 +1464,7 @@ virCapabilitiesFillCPUInfo(int cpu_id G_GNUC_UNUSED, cpu->id = cpu_id; if (virHostCPUGetSocket(cpu_id, &cpu->socket_id) < 0 || + virHostCPUGetDie(cpu_id, &cpu->die_id) < 0 || virHostCPUGetCore(cpu_id, &cpu->core_id) < 0) return -1; @@ -1591,6 +1593,7 @@ virCapabilitiesHostNUMAInitFake(virCapsHostNUMAPtr caps) goto error; if (tmp) { cpus[cid].id = id; + cpus[cid].die_id = 0; cpus[cid].socket_id = s; cpus[cid].core_id = c; if (!(cpus[cid].siblings = virBitmapNew(ncpus))) diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h index 4a49e94aa5..75f29666c9 100644 --- a/src/conf/capabilities.h +++ b/src/conf/capabilities.h @@ -88,6 +88,7 @@ struct _virCapsGuest { struct _virCapsHostNUMACellCPU { unsigned int id; unsigned int socket_id; + unsigned int die_id; unsigned int core_id; virBitmapPtr siblings; }; diff --git a/src/libvirt_linux.syms b/src/libvirt_linux.syms index 5fa2c790ef..55649ae39c 100644 --- a/src/libvirt_linux.syms +++ b/src/libvirt_linux.syms @@ -4,6 +4,7 @@ # util/virhostcpu.h virHostCPUGetCore; +virHostCPUGetDie; virHostCPUGetInfoPopulateLinux; virHostCPUGetSiblingsList; virHostCPUGetSocket; diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c index 7f14340f49..0ed2c9e9b4 100644 --- a/src/util/virhostcpu.c +++ b/src/util/virhostcpu.c @@ -218,6 +218,22 @@ virHostCPUGetSocket(unsigned int cpu, unsigned int *socket) return 0; } +int +virHostCPUGetDie(unsigned int cpu, unsigned int *die) +{ + int ret = virFileReadValueUint(die, + "%s/cpu/cpu%u/topology/die_id", + SYSFS_SYSTEM_PATH, cpu); + + /* If the file is not there, it's 0 */ + if (ret == -2) + *die = 0; + else if (ret < 0) + return -1; + + return 0; +} + int virHostCPUGetCore(unsigned int cpu, unsigned int *core) { diff --git a/src/util/virhostcpu.h b/src/util/virhostcpu.h index d95d380d4a..9be2e51a38 100644 --- a/src/util/virhostcpu.h +++ b/src/util/virhostcpu.h @@ -65,6 +65,7 @@ int virHostCPUStatsAssign(virNodeCPUStatsPtr param, #ifdef __linux__ int virHostCPUGetSocket(unsigned int cpu, unsigned int *socket); +int virHostCPUGetDie(unsigned int cpu, unsigned int *die); int virHostCPUGetCore(unsigned int cpu, unsigned int *core); virBitmapPtr virHostCPUGetSiblingsList(unsigned int cpu); diff --git a/tests/vircaps2xmldata/vircaps-aarch64-basic.xml b/tests/vircaps2xmldata/vircaps-aarch64-basic.xml index 50466f9162..0a04052c40 100644 --- a/tests/vircaps2xmldata/vircaps-aarch64-basic.xml +++ b/tests/vircaps2xmldata/vircaps-aarch64-basic.xml @@ -16,10 +16,10 @@ <pages unit='KiB' size='2048'>4096</pages> <pages unit='KiB' size='1048576'>6144</pages> <cpus num='4'> - <cpu id='0' socket_id='0' core_id='0' siblings='0'/> - <cpu id='1' socket_id='0' core_id='1' siblings='1'/> - <cpu id='2' socket_id='0' core_id='2' siblings='2'/> - <cpu id='3' socket_id='0' core_id='3' siblings='3'/> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/> + <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/> </cpus> </cell> <cell id='1'> @@ -28,10 +28,10 @@ <pages unit='KiB' size='2048'>6144</pages> <pages unit='KiB' size='1048576'>8192</pages> <cpus num='4'> - <cpu id='4' socket_id='1' core_id='4' siblings='4'/> - <cpu id='5' socket_id='1' core_id='5' siblings='5'/> - <cpu id='6' socket_id='1' core_id='6' siblings='6'/> - <cpu id='7' socket_id='1' core_id='7' siblings='7'/> + <cpu id='4' socket_id='1' die_id='0' core_id='4' siblings='4'/> + <cpu id='5' socket_id='1' die_id='0' core_id='5' siblings='5'/> + <cpu id='6' socket_id='1' die_id='0' core_id='6' siblings='6'/> + <cpu id='7' socket_id='1' die_id='0' core_id='7' siblings='7'/> </cpus> </cell> <cell id='2'> @@ -40,10 +40,10 @@ <pages unit='KiB' size='2048'>8192</pages> <pages unit='KiB' size='1048576'>10240</pages> <cpus num='4'> - <cpu id='8' socket_id='2' core_id='8' siblings='8'/> - <cpu id='9' socket_id='2' core_id='9' siblings='9'/> - <cpu id='10' socket_id='2' core_id='10' siblings='10'/> - <cpu id='11' socket_id='2' core_id='11' siblings='11'/> + <cpu id='8' socket_id='2' die_id='0' core_id='8' siblings='8'/> + <cpu id='9' socket_id='2' die_id='0' core_id='9' siblings='9'/> + <cpu id='10' socket_id='2' die_id='0' core_id='10' siblings='10'/> + <cpu id='11' socket_id='2' die_id='0' core_id='11' siblings='11'/> </cpus> </cell> <cell id='3'> @@ -52,10 +52,10 @@ <pages unit='KiB' size='2048'>10240</pages> <pages unit='KiB' size='1048576'>12288</pages> <cpus num='4'> - <cpu id='12' socket_id='3' core_id='12' siblings='12'/> - <cpu id='13' socket_id='3' core_id='13' siblings='13'/> - <cpu id='14' socket_id='3' core_id='14' siblings='14'/> - <cpu id='15' socket_id='3' core_id='15' siblings='15'/> + <cpu id='12' socket_id='3' die_id='0' core_id='12' siblings='12'/> + <cpu id='13' socket_id='3' die_id='0' core_id='13' siblings='13'/> + <cpu id='14' socket_id='3' die_id='0' core_id='14' siblings='14'/> + <cpu id='15' socket_id='3' die_id='0' core_id='15' siblings='15'/> </cpus> </cell> </cells> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-basic.xml b/tests/vircaps2xmldata/vircaps-x86_64-basic.xml index e7be6def3e..4da09f889c 100644 --- a/tests/vircaps2xmldata/vircaps-x86_64-basic.xml +++ b/tests/vircaps2xmldata/vircaps-x86_64-basic.xml @@ -14,10 +14,10 @@ <pages unit='KiB' size='2048'>4096</pages> <pages unit='KiB' size='1048576'>6144</pages> <cpus num='4'> - <cpu id='0' socket_id='0' core_id='0' siblings='0'/> - <cpu id='1' socket_id='0' core_id='1' siblings='1'/> - <cpu id='2' socket_id='0' core_id='2' siblings='2'/> - <cpu id='3' socket_id='0' core_id='3' siblings='3'/> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/> + <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/> </cpus> </cell> <cell id='1'> @@ -26,10 +26,10 @@ <pages unit='KiB' size='2048'>6144</pages> <pages unit='KiB' size='1048576'>8192</pages> <cpus num='4'> - <cpu id='4' socket_id='1' core_id='4' siblings='4'/> - <cpu id='5' socket_id='1' core_id='5' siblings='5'/> - <cpu id='6' socket_id='1' core_id='6' siblings='6'/> - <cpu id='7' socket_id='1' core_id='7' siblings='7'/> + <cpu id='4' socket_id='1' die_id='0' core_id='4' siblings='4'/> + <cpu id='5' socket_id='1' die_id='0' core_id='5' siblings='5'/> + <cpu id='6' socket_id='1' die_id='0' core_id='6' siblings='6'/> + <cpu id='7' socket_id='1' die_id='0' core_id='7' siblings='7'/> </cpus> </cell> <cell id='2'> @@ -38,10 +38,10 @@ <pages unit='KiB' size='2048'>8192</pages> <pages unit='KiB' size='1048576'>10240</pages> <cpus num='4'> - <cpu id='8' socket_id='2' core_id='8' siblings='8'/> - <cpu id='9' socket_id='2' core_id='9' siblings='9'/> - <cpu id='10' socket_id='2' core_id='10' siblings='10'/> - <cpu id='11' socket_id='2' core_id='11' siblings='11'/> + <cpu id='8' socket_id='2' die_id='0' core_id='8' siblings='8'/> + <cpu id='9' socket_id='2' die_id='0' core_id='9' siblings='9'/> + <cpu id='10' socket_id='2' die_id='0' core_id='10' siblings='10'/> + <cpu id='11' socket_id='2' die_id='0' core_id='11' siblings='11'/> </cpus> </cell> <cell id='3'> @@ -50,10 +50,10 @@ <pages unit='KiB' size='2048'>10240</pages> <pages unit='KiB' size='1048576'>12288</pages> <cpus num='4'> - <cpu id='12' socket_id='3' core_id='12' siblings='12'/> - <cpu id='13' socket_id='3' core_id='13' siblings='13'/> - <cpu id='14' socket_id='3' core_id='14' siblings='14'/> - <cpu id='15' socket_id='3' core_id='15' siblings='15'/> + <cpu id='12' socket_id='3' die_id='0' core_id='12' siblings='12'/> + <cpu id='13' socket_id='3' die_id='0' core_id='13' siblings='13'/> + <cpu id='14' socket_id='3' die_id='0' core_id='14' siblings='14'/> + <cpu id='15' socket_id='3' die_id='0' core_id='15' siblings='15'/> </cpus> </cell> </cells> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-caches.xml b/tests/vircaps2xmldata/vircaps-x86_64-caches.xml index ca671a1640..28f00c0a90 100644 --- a/tests/vircaps2xmldata/vircaps-x86_64-caches.xml +++ b/tests/vircaps2xmldata/vircaps-x86_64-caches.xml @@ -17,14 +17,14 @@ <pages unit='KiB' size='2048'>4096</pages> <pages unit='KiB' size='1048576'>6144</pages> <cpus num='8'> - <cpu id='0' socket_id='0' core_id='0' siblings='0,4'/> - <cpu id='1' socket_id='0' core_id='1' siblings='1,5'/> - <cpu id='2' socket_id='0' core_id='2' siblings='2,6'/> - <cpu id='3' socket_id='0' core_id='3' siblings='3,7'/> - <cpu id='4' socket_id='0' core_id='0' siblings='0,4'/> - <cpu id='5' socket_id='0' core_id='1' siblings='1,5'/> - <cpu id='6' socket_id='0' core_id='2' siblings='2,6'/> - <cpu id='7' socket_id='0' core_id='3' siblings='3,7'/> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0,4'/> + <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1,5'/> + <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2,6'/> + <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3,7'/> + <cpu id='4' socket_id='0' die_id='0' core_id='0' siblings='0,4'/> + <cpu id='5' socket_id='0' die_id='0' core_id='1' siblings='1,5'/> + <cpu id='6' socket_id='0' die_id='0' core_id='2' siblings='2,6'/> + <cpu id='7' socket_id='0' die_id='0' core_id='3' siblings='3,7'/> </cpus> </cell> </cells> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml index 1d3df318c5..ee26fe9464 100644 --- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml +++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml @@ -17,12 +17,12 @@ <pages unit='KiB' size='2048'>4096</pages> <pages unit='KiB' size='1048576'>6144</pages> <cpus num='6'> - <cpu id='0' socket_id='0' core_id='0' siblings='0'/> - <cpu id='1' socket_id='0' core_id='1' siblings='1'/> - <cpu id='2' socket_id='0' core_id='2' siblings='2'/> - <cpu id='3' socket_id='0' core_id='3' siblings='3'/> - <cpu id='4' socket_id='0' core_id='4' siblings='4'/> - <cpu id='5' socket_id='0' core_id='5' siblings='5'/> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/> + <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/> + <cpu id='4' socket_id='0' die_id='0' core_id='4' siblings='4'/> + <cpu id='5' socket_id='0' die_id='0' core_id='5' siblings='5'/> </cpus> </cell> <cell id='1'> @@ -31,12 +31,12 @@ <pages unit='KiB' size='2048'>6144</pages> <pages unit='KiB' size='1048576'>8192</pages> <cpus num='6'> - <cpu id='6' socket_id='1' core_id='0' siblings='6'/> - <cpu id='7' socket_id='1' core_id='1' siblings='7'/> - <cpu id='8' socket_id='1' core_id='2' siblings='8'/> - <cpu id='9' socket_id='1' core_id='3' siblings='9'/> - <cpu id='10' socket_id='1' core_id='4' siblings='10'/> - <cpu id='11' socket_id='1' core_id='5' siblings='11'/> + <cpu id='6' socket_id='1' die_id='0' core_id='0' siblings='6'/> + <cpu id='7' socket_id='1' die_id='0' core_id='1' siblings='7'/> + <cpu id='8' socket_id='1' die_id='0' core_id='2' siblings='8'/> + <cpu id='9' socket_id='1' die_id='0' core_id='3' siblings='9'/> + <cpu id='10' socket_id='1' die_id='0' core_id='4' siblings='10'/> + <cpu id='11' socket_id='1' die_id='0' core_id='5' siblings='11'/> </cpus> </cell> </cells> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml index 6a8cd0e909..acdd97ec58 100644 --- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml +++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml @@ -17,12 +17,12 @@ <pages unit='KiB' size='2048'>4096</pages> <pages unit='KiB' size='1048576'>6144</pages> <cpus num='6'> - <cpu id='0' socket_id='0' core_id='0' siblings='0'/> - <cpu id='1' socket_id='0' core_id='1' siblings='1'/> - <cpu id='2' socket_id='0' core_id='2' siblings='2'/> - <cpu id='3' socket_id='0' core_id='3' siblings='3'/> - <cpu id='4' socket_id='0' core_id='4' siblings='4'/> - <cpu id='5' socket_id='0' core_id='5' siblings='5'/> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/> + <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/> + <cpu id='4' socket_id='0' die_id='0' core_id='4' siblings='4'/> + <cpu id='5' socket_id='0' die_id='0' core_id='5' siblings='5'/> </cpus> </cell> <cell id='1'> @@ -31,12 +31,12 @@ <pages unit='KiB' size='2048'>6144</pages> <pages unit='KiB' size='1048576'>8192</pages> <cpus num='6'> - <cpu id='6' socket_id='1' core_id='0' siblings='6'/> - <cpu id='7' socket_id='1' core_id='1' siblings='7'/> - <cpu id='8' socket_id='1' core_id='2' siblings='8'/> - <cpu id='9' socket_id='1' core_id='3' siblings='9'/> - <cpu id='10' socket_id='1' core_id='4' siblings='10'/> - <cpu id='11' socket_id='1' core_id='5' siblings='11'/> + <cpu id='6' socket_id='1' die_id='0' core_id='0' siblings='6'/> + <cpu id='7' socket_id='1' die_id='0' core_id='1' siblings='7'/> + <cpu id='8' socket_id='1' die_id='0' core_id='2' siblings='8'/> + <cpu id='9' socket_id='1' die_id='0' core_id='3' siblings='9'/> + <cpu id='10' socket_id='1' die_id='0' core_id='4' siblings='10'/> + <cpu id='11' socket_id='1' die_id='0' core_id='5' siblings='11'/> </cpus> </cell> </cells> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml index 4e46ead616..5f3678e072 100644 --- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml +++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml @@ -17,12 +17,12 @@ <pages unit='KiB' size='2048'>4096</pages> <pages unit='KiB' size='1048576'>6144</pages> <cpus num='6'> - <cpu id='0' socket_id='0' core_id='0' siblings='0'/> - <cpu id='1' socket_id='0' core_id='1' siblings='1'/> - <cpu id='2' socket_id='0' core_id='2' siblings='2'/> - <cpu id='3' socket_id='0' core_id='3' siblings='3'/> - <cpu id='4' socket_id='0' core_id='4' siblings='4'/> - <cpu id='5' socket_id='0' core_id='5' siblings='5'/> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/> + <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/> + <cpu id='4' socket_id='0' die_id='0' core_id='4' siblings='4'/> + <cpu id='5' socket_id='0' die_id='0' core_id='5' siblings='5'/> </cpus> </cell> <cell id='1'> @@ -31,12 +31,12 @@ <pages unit='KiB' size='2048'>6144</pages> <pages unit='KiB' size='1048576'>8192</pages> <cpus num='6'> - <cpu id='6' socket_id='1' core_id='0' siblings='6'/> - <cpu id='7' socket_id='1' core_id='1' siblings='7'/> - <cpu id='8' socket_id='1' core_id='2' siblings='8'/> - <cpu id='9' socket_id='1' core_id='3' siblings='9'/> - <cpu id='10' socket_id='1' core_id='4' siblings='10'/> - <cpu id='11' socket_id='1' core_id='5' siblings='11'/> + <cpu id='6' socket_id='1' die_id='0' core_id='0' siblings='6'/> + <cpu id='7' socket_id='1' die_id='0' core_id='1' siblings='7'/> + <cpu id='8' socket_id='1' die_id='0' core_id='2' siblings='8'/> + <cpu id='9' socket_id='1' die_id='0' core_id='3' siblings='9'/> + <cpu id='10' socket_id='1' die_id='0' core_id='4' siblings='10'/> + <cpu id='11' socket_id='1' die_id='0' core_id='5' siblings='11'/> </cpus> </cell> </cells> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml index 44c1042afe..6769bd0591 100644 --- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml +++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml @@ -17,7 +17,7 @@ <pages unit='KiB' size='2048'>4096</pages> <pages unit='KiB' size='1048576'>6144</pages> <cpus num='1'> - <cpu id='0' socket_id='0' core_id='0' siblings='0'/> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> </cpus> </cell> </cells> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml index 8382a26c7a..bc52480905 100644 --- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml +++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml @@ -17,7 +17,7 @@ <pages unit='KiB' size='2048'>4096</pages> <pages unit='KiB' size='1048576'>6144</pages> <cpus num='1'> - <cpu id='0' socket_id='0' core_id='0' siblings='0'/> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> </cpus> </cell> </cells> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml index a27b3e247e..c386edd4b0 100644 --- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml +++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml @@ -17,12 +17,12 @@ <pages unit='KiB' size='2048'>4096</pages> <pages unit='KiB' size='1048576'>6144</pages> <cpus num='6'> - <cpu id='0' socket_id='0' core_id='0' siblings='0'/> - <cpu id='1' socket_id='0' core_id='1' siblings='1'/> - <cpu id='2' socket_id='0' core_id='2' siblings='2'/> - <cpu id='3' socket_id='0' core_id='3' siblings='3'/> - <cpu id='4' socket_id='0' core_id='4' siblings='4'/> - <cpu id='5' socket_id='0' core_id='5' siblings='5'/> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/> + <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/> + <cpu id='4' socket_id='0' die_id='0' core_id='4' siblings='4'/> + <cpu id='5' socket_id='0' die_id='0' core_id='5' siblings='5'/> </cpus> </cell> <cell id='1'> @@ -31,12 +31,12 @@ <pages unit='KiB' size='2048'>6144</pages> <pages unit='KiB' size='1048576'>8192</pages> <cpus num='6'> - <cpu id='6' socket_id='1' core_id='0' siblings='6'/> - <cpu id='7' socket_id='1' core_id='1' siblings='7'/> - <cpu id='8' socket_id='1' core_id='2' siblings='8'/> - <cpu id='9' socket_id='1' core_id='3' siblings='9'/> - <cpu id='10' socket_id='1' core_id='4' siblings='10'/> - <cpu id='11' socket_id='1' core_id='5' siblings='11'/> + <cpu id='6' socket_id='1' die_id='0' core_id='0' siblings='6'/> + <cpu id='7' socket_id='1' die_id='0' core_id='1' siblings='7'/> + <cpu id='8' socket_id='1' die_id='0' core_id='2' siblings='8'/> + <cpu id='9' socket_id='1' die_id='0' core_id='3' siblings='9'/> + <cpu id='10' socket_id='1' die_id='0' core_id='4' siblings='10'/> + <cpu id='11' socket_id='1' die_id='0' core_id='5' siblings='11'/> </cpus> </cell> </cells> -- 2.23.0

Only Cascadelake-AP CPUs appear to report "die_id" values != 0 on Linux right now - AMD EPYC's don't report "die_id" (at least with Fedora 31 kernel). Lacking access to Cascadelake-AP CPUs, this test data was from a Fedora 31 QEMU guest launched with -cpu qemu64 -smp sockets=2,dies=3,cores=2,threads=1 Ideally we'd replace this data with some from a real machine reporting "die_id", to ensure we're not mislead by QEMU's impl. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- .../linux-basic-dies/system/cpu | 1 + .../linux-basic-dies/system/node | 1 + .../vircaps-x86_64-basic-dies.xml | 35 ++ tests/vircaps2xmltest.c | 1 + .../cpu/cpu0/topology/core_cpus | 1 + .../cpu/cpu0/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu0/topology/core_id | 1 + .../cpu/cpu0/topology/core_siblings | 1 + .../cpu/cpu0/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu0/topology/die_cpus | 1 + .../cpu/cpu0/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu0/topology/die_id | 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 + .../linux-with-die/cpu/cpu1/online | 1 + .../cpu/cpu1/topology/core_cpus | 1 + .../cpu/cpu1/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu1/topology/core_id | 1 + .../cpu/cpu1/topology/core_siblings | 1 + .../cpu/cpu1/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu1/topology/die_cpus | 1 + .../cpu/cpu1/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu1/topology/die_id | 1 + .../cpu/cpu1/topology/package_cpus | 1 + .../cpu/cpu1/topology/package_cpus_list | 1 + .../cpu/cpu1/topology/physical_package_id | 1 + .../cpu/cpu1/topology/thread_siblings | 1 + .../cpu/cpu1/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu10/online | 1 + .../cpu/cpu10/topology/core_cpus | 1 + .../cpu/cpu10/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu10/topology/core_id | 1 + .../cpu/cpu10/topology/core_siblings | 1 + .../cpu/cpu10/topology/core_siblings_list | 1 + .../cpu/cpu10/topology/die_cpus | 1 + .../cpu/cpu10/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu10/topology/die_id | 1 + .../cpu/cpu10/topology/package_cpus | 1 + .../cpu/cpu10/topology/package_cpus_list | 1 + .../cpu/cpu10/topology/physical_package_id | 1 + .../cpu/cpu10/topology/thread_siblings | 1 + .../cpu/cpu10/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu11/online | 1 + .../cpu/cpu11/topology/core_cpus | 1 + .../cpu/cpu11/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu11/topology/core_id | 1 + .../cpu/cpu11/topology/core_siblings | 1 + .../cpu/cpu11/topology/core_siblings_list | 1 + .../cpu/cpu11/topology/die_cpus | 1 + .../cpu/cpu11/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu11/topology/die_id | 1 + .../cpu/cpu11/topology/package_cpus | 1 + .../cpu/cpu11/topology/package_cpus_list | 1 + .../cpu/cpu11/topology/physical_package_id | 1 + .../cpu/cpu11/topology/thread_siblings | 1 + .../cpu/cpu11/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu2/online | 1 + .../cpu/cpu2/topology/core_cpus | 1 + .../cpu/cpu2/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu2/topology/core_id | 1 + .../cpu/cpu2/topology/core_siblings | 1 + .../cpu/cpu2/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu2/topology/die_cpus | 1 + .../cpu/cpu2/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu2/topology/die_id | 1 + .../cpu/cpu2/topology/package_cpus | 1 + .../cpu/cpu2/topology/package_cpus_list | 1 + .../cpu/cpu2/topology/physical_package_id | 1 + .../cpu/cpu2/topology/thread_siblings | 1 + .../cpu/cpu2/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu3/online | 1 + .../cpu/cpu3/topology/core_cpus | 1 + .../cpu/cpu3/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu3/topology/core_id | 1 + .../cpu/cpu3/topology/core_siblings | 1 + .../cpu/cpu3/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu3/topology/die_cpus | 1 + .../cpu/cpu3/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu3/topology/die_id | 1 + .../cpu/cpu3/topology/package_cpus | 1 + .../cpu/cpu3/topology/package_cpus_list | 1 + .../cpu/cpu3/topology/physical_package_id | 1 + .../cpu/cpu3/topology/thread_siblings | 1 + .../cpu/cpu3/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu4/online | 1 + .../cpu/cpu4/topology/core_cpus | 1 + .../cpu/cpu4/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu4/topology/core_id | 1 + .../cpu/cpu4/topology/core_siblings | 1 + .../cpu/cpu4/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu4/topology/die_cpus | 1 + .../cpu/cpu4/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu4/topology/die_id | 1 + .../cpu/cpu4/topology/package_cpus | 1 + .../cpu/cpu4/topology/package_cpus_list | 1 + .../cpu/cpu4/topology/physical_package_id | 1 + .../cpu/cpu4/topology/thread_siblings | 1 + .../cpu/cpu4/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu5/online | 1 + .../cpu/cpu5/topology/core_cpus | 1 + .../cpu/cpu5/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu5/topology/core_id | 1 + .../cpu/cpu5/topology/core_siblings | 1 + .../cpu/cpu5/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu5/topology/die_cpus | 1 + .../cpu/cpu5/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu5/topology/die_id | 1 + .../cpu/cpu5/topology/package_cpus | 1 + .../cpu/cpu5/topology/package_cpus_list | 1 + .../cpu/cpu5/topology/physical_package_id | 1 + .../cpu/cpu5/topology/thread_siblings | 1 + .../cpu/cpu5/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu6/online | 1 + .../cpu/cpu6/topology/core_cpus | 1 + .../cpu/cpu6/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu6/topology/core_id | 1 + .../cpu/cpu6/topology/core_siblings | 1 + .../cpu/cpu6/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu6/topology/die_cpus | 1 + .../cpu/cpu6/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu6/topology/die_id | 1 + .../cpu/cpu6/topology/package_cpus | 1 + .../cpu/cpu6/topology/package_cpus_list | 1 + .../cpu/cpu6/topology/physical_package_id | 1 + .../cpu/cpu6/topology/thread_siblings | 1 + .../cpu/cpu6/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu7/online | 1 + .../cpu/cpu7/topology/core_cpus | 1 + .../cpu/cpu7/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu7/topology/core_id | 1 + .../cpu/cpu7/topology/core_siblings | 1 + .../cpu/cpu7/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu7/topology/die_cpus | 1 + .../cpu/cpu7/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu7/topology/die_id | 1 + .../cpu/cpu7/topology/package_cpus | 1 + .../cpu/cpu7/topology/package_cpus_list | 1 + .../cpu/cpu7/topology/physical_package_id | 1 + .../cpu/cpu7/topology/thread_siblings | 1 + .../cpu/cpu7/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu8/online | 1 + .../cpu/cpu8/topology/core_cpus | 1 + .../cpu/cpu8/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu8/topology/core_id | 1 + .../cpu/cpu8/topology/core_siblings | 1 + .../cpu/cpu8/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu8/topology/die_cpus | 1 + .../cpu/cpu8/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu8/topology/die_id | 1 + .../cpu/cpu8/topology/package_cpus | 1 + .../cpu/cpu8/topology/package_cpus_list | 1 + .../cpu/cpu8/topology/physical_package_id | 1 + .../cpu/cpu8/topology/thread_siblings | 1 + .../cpu/cpu8/topology/thread_siblings_list | 1 + .../linux-with-die/cpu/cpu9/online | 1 + .../cpu/cpu9/topology/core_cpus | 1 + .../cpu/cpu9/topology/core_cpus_list | 1 + .../linux-with-die/cpu/cpu9/topology/core_id | 1 + .../cpu/cpu9/topology/core_siblings | 1 + .../cpu/cpu9/topology/core_siblings_list | 1 + .../linux-with-die/cpu/cpu9/topology/die_cpus | 1 + .../cpu/cpu9/topology/die_cpus_list | 1 + .../linux-with-die/cpu/cpu9/topology/die_id | 1 + .../cpu/cpu9/topology/package_cpus | 1 + .../cpu/cpu9/topology/package_cpus_list | 1 + .../cpu/cpu9/topology/physical_package_id | 1 + .../cpu/cpu9/topology/thread_siblings | 1 + .../cpu/cpu9/topology/thread_siblings_list | 1 + .../virhostcpudata/linux-with-die/cpu/online | 1 + .../virhostcpudata/linux-with-die/cpu/present | 1 + .../linux-with-die/node/node0/cpu0 | 1 + .../linux-with-die/node/node0/cpu1 | 1 + .../linux-with-die/node/node0/cpu10 | 1 + .../linux-with-die/node/node0/cpu11 | 1 + .../linux-with-die/node/node0/cpu2 | 1 + .../linux-with-die/node/node0/cpu3 | 1 + .../linux-with-die/node/node0/cpu4 | 1 + .../linux-with-die/node/node0/cpu5 | 1 + .../linux-with-die/node/node0/cpu6 | 1 + .../linux-with-die/node/node0/cpu7 | 1 + .../linux-with-die/node/node0/cpu8 | 1 + .../linux-with-die/node/node0/cpu9 | 1 + .../linux-with-die/node/node0/cpulist | 1 + .../virhostcpudata/linux-with-die/node/online | 1 + .../linux-with-die/node/possible | 1 + .../linux-x86_64-with-die.cpuinfo | 323 ++++++++++++++++++ .../linux-x86_64-with-die.expected | 1 + tests/virhostcputest.c | 1 + 191 files changed, 547 insertions(+) create mode 120000 tests/vircaps2xmldata/linux-basic-dies/system/cpu create mode 120000 tests/vircaps2xmldata/linux-basic-dies/system/node create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/physical_package_id create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings create mode 100644 tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings_list create mode 100644 tests/virhostcpudata/linux-with-die/cpu/online create mode 100644 tests/virhostcpudata/linux-with-die/cpu/present create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu0 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu1 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu10 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu11 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu2 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu3 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu4 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu5 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu6 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu7 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu8 create mode 120000 tests/virhostcpudata/linux-with-die/node/node0/cpu9 create mode 100644 tests/virhostcpudata/linux-with-die/node/node0/cpulist create mode 100644 tests/virhostcpudata/linux-with-die/node/online create mode 100644 tests/virhostcpudata/linux-with-die/node/possible create mode 100644 tests/virhostcpudata/linux-x86_64-with-die.cpuinfo create mode 100644 tests/virhostcpudata/linux-x86_64-with-die.expected diff --git a/tests/vircaps2xmldata/linux-basic-dies/system/cpu b/tests/vircaps2xmldata/linux-basic-dies/system/cpu new file mode 120000 index 0000000000..af158a7097 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic-dies/system/cpu @@ -0,0 +1 @@ +../../../virhostcpudata/linux-with-die/cpu \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic-dies/system/node b/tests/vircaps2xmldata/linux-basic-dies/system/node new file mode 120000 index 0000000000..68bc88ea14 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic-dies/system/node @@ -0,0 +1 @@ +../../../virhostcpudata/linux-with-die/node \ No newline at end of file diff --git a/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml b/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml new file mode 100644 index 0000000000..8a3ca2d13c --- /dev/null +++ b/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml @@ -0,0 +1,35 @@ +<capabilities> + + <host> + <cpu> + <arch>x86_64</arch> + </cpu> + <power_management/> + <iommu support='no'/> + <topology> + <cells num='1'> + <cell id='0'> + <memory unit='KiB'>1048576</memory> + <pages unit='KiB' size='4'>2048</pages> + <pages unit='KiB' size='2048'>4096</pages> + <pages unit='KiB' size='1048576'>6144</pages> + <cpus num='12'> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' die_id='1' core_id='0' siblings='2'/> + <cpu id='3' socket_id='0' die_id='1' core_id='1' siblings='3'/> + <cpu id='4' socket_id='0' die_id='2' core_id='0' siblings='4'/> + <cpu id='5' socket_id='0' die_id='2' core_id='1' siblings='5'/> + <cpu id='6' socket_id='1' die_id='0' core_id='0' siblings='6'/> + <cpu id='7' socket_id='1' die_id='0' core_id='1' siblings='7'/> + <cpu id='8' socket_id='1' die_id='1' core_id='0' siblings='8'/> + <cpu id='9' socket_id='1' die_id='1' core_id='1' siblings='9'/> + <cpu id='10' socket_id='1' die_id='2' core_id='0' siblings='10'/> + <cpu id='11' socket_id='1' die_id='2' core_id='1' siblings='11'/> + </cpus> + </cell> + </cells> + </topology> + </host> + +</capabilities> diff --git a/tests/vircaps2xmltest.c b/tests/vircaps2xmltest.c index 6c08a26ec4..17cd600a7a 100644 --- a/tests/vircaps2xmltest.c +++ b/tests/vircaps2xmltest.c @@ -102,6 +102,7 @@ mymain(void) DO_TEST_FULL("basic", VIR_ARCH_X86_64, false, false); DO_TEST_FULL("basic", VIR_ARCH_AARCH64, true, false); + DO_TEST_FULL("basic-dies", VIR_ARCH_X86_64, false, false); DO_TEST_FULL("caches", VIR_ARCH_X86_64, true, true); diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus new file mode 100644 index 0000000000..5325a8dff7 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus @@ -0,0 +1 @@ +001 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus_list new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_cpus_list @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/core_siblings_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus new file mode 100644 index 0000000000..d7887218f9 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus @@ -0,0 +1 @@ +003 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus_list new file mode 100644 index 0000000000..8b0fab869c --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_cpus_list @@ -0,0 +1 @@ +0-1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/die_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/package_cpus_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/physical_package_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings new file mode 100644 index 0000000000..5325a8dff7 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings @@ -0,0 +1 @@ +001 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings_list new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu0/topology/thread_siblings_list @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/online b/tests/virhostcpudata/linux-with-die/cpu/cpu1/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus new file mode 100644 index 0000000000..5902f77e7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus @@ -0,0 +1 @@ +002 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus_list new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_cpus_list @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/core_siblings_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus new file mode 100644 index 0000000000..d7887218f9 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus @@ -0,0 +1 @@ +003 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus_list new file mode 100644 index 0000000000..8b0fab869c --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_cpus_list @@ -0,0 +1 @@ +0-1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/die_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/package_cpus_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/physical_package_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings new file mode 100644 index 0000000000..5902f77e7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings @@ -0,0 +1 @@ +002 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings_list new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu1/topology/thread_siblings_list @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/online b/tests/virhostcpudata/linux-with-die/cpu/cpu10/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus new file mode 100644 index 0000000000..d411bb7c1a --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus @@ -0,0 +1 @@ +400 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus_list new file mode 100644 index 0000000000..f599e28b8a --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_cpus_list @@ -0,0 +1 @@ +10 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/core_siblings_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus new file mode 100644 index 0000000000..a94266dd91 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus @@ -0,0 +1 @@ +c00 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus_list new file mode 100644 index 0000000000..ac93dc4496 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_cpus_list @@ -0,0 +1 @@ +10-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_id new file mode 100644 index 0000000000..0cfbf08886 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/die_id @@ -0,0 +1 @@ +2 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/package_cpus_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/physical_package_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings new file mode 100644 index 0000000000..d411bb7c1a --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings @@ -0,0 +1 @@ +400 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings_list new file mode 100644 index 0000000000..f599e28b8a --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu10/topology/thread_siblings_list @@ -0,0 +1 @@ +10 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/online b/tests/virhostcpudata/linux-with-die/cpu/cpu11/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus new file mode 100644 index 0000000000..5ae5aef844 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus @@ -0,0 +1 @@ +800 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus_list new file mode 100644 index 0000000000..b4de394767 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_cpus_list @@ -0,0 +1 @@ +11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/core_siblings_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus new file mode 100644 index 0000000000..a94266dd91 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus @@ -0,0 +1 @@ +c00 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus_list new file mode 100644 index 0000000000..ac93dc4496 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_cpus_list @@ -0,0 +1 @@ +10-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_id new file mode 100644 index 0000000000..0cfbf08886 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/die_id @@ -0,0 +1 @@ +2 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/package_cpus_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/physical_package_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings new file mode 100644 index 0000000000..5ae5aef844 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings @@ -0,0 +1 @@ +800 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings_list new file mode 100644 index 0000000000..b4de394767 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu11/topology/thread_siblings_list @@ -0,0 +1 @@ +11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/online b/tests/virhostcpudata/linux-with-die/cpu/cpu2/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus new file mode 100644 index 0000000000..8f3cca4f01 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus @@ -0,0 +1 @@ +004 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus_list new file mode 100644 index 0000000000..0cfbf08886 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_cpus_list @@ -0,0 +1 @@ +2 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/core_siblings_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus new file mode 100644 index 0000000000..3138e83a00 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus @@ -0,0 +1 @@ +00c diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus_list new file mode 100644 index 0000000000..7a9857542a --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_cpus_list @@ -0,0 +1 @@ +2-3 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/die_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/package_cpus_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/physical_package_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings new file mode 100644 index 0000000000..8f3cca4f01 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings @@ -0,0 +1 @@ +004 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings_list new file mode 100644 index 0000000000..0cfbf08886 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu2/topology/thread_siblings_list @@ -0,0 +1 @@ +2 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/online b/tests/virhostcpudata/linux-with-die/cpu/cpu3/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus new file mode 100644 index 0000000000..e195199bee --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus @@ -0,0 +1 @@ +008 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus_list new file mode 100644 index 0000000000..00750edc07 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_cpus_list @@ -0,0 +1 @@ +3 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/core_siblings_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus new file mode 100644 index 0000000000..3138e83a00 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus @@ -0,0 +1 @@ +00c diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus_list new file mode 100644 index 0000000000..7a9857542a --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_cpus_list @@ -0,0 +1 @@ +2-3 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/die_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/package_cpus_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/physical_package_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings new file mode 100644 index 0000000000..e195199bee --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings @@ -0,0 +1 @@ +008 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings_list new file mode 100644 index 0000000000..00750edc07 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu3/topology/thread_siblings_list @@ -0,0 +1 @@ +3 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/online b/tests/virhostcpudata/linux-with-die/cpu/cpu4/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus new file mode 100644 index 0000000000..9e8493eaee --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus @@ -0,0 +1 @@ +010 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus_list new file mode 100644 index 0000000000..b8626c4cff --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_cpus_list @@ -0,0 +1 @@ +4 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/core_siblings_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus new file mode 100644 index 0000000000..cadb715e0d --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus @@ -0,0 +1 @@ +030 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus_list new file mode 100644 index 0000000000..e66d883ade --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_cpus_list @@ -0,0 +1 @@ +4-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_id new file mode 100644 index 0000000000..0cfbf08886 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/die_id @@ -0,0 +1 @@ +2 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/package_cpus_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/physical_package_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings new file mode 100644 index 0000000000..9e8493eaee --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings @@ -0,0 +1 @@ +010 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings_list new file mode 100644 index 0000000000..b8626c4cff --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu4/topology/thread_siblings_list @@ -0,0 +1 @@ +4 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/online b/tests/virhostcpudata/linux-with-die/cpu/cpu5/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus new file mode 100644 index 0000000000..fb6187e9e0 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus @@ -0,0 +1 @@ +020 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus_list new file mode 100644 index 0000000000..7ed6ff82de --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_cpus_list @@ -0,0 +1 @@ +5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/core_siblings_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus new file mode 100644 index 0000000000..cadb715e0d --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus @@ -0,0 +1 @@ +030 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus_list new file mode 100644 index 0000000000..e66d883ade --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_cpus_list @@ -0,0 +1 @@ +4-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_id new file mode 100644 index 0000000000..0cfbf08886 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/die_id @@ -0,0 +1 @@ +2 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus new file mode 100644 index 0000000000..d37ac748bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus @@ -0,0 +1 @@ +03f diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus_list new file mode 100644 index 0000000000..82a99f2907 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/package_cpus_list @@ -0,0 +1 @@ +0-5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/physical_package_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings new file mode 100644 index 0000000000..fb6187e9e0 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings @@ -0,0 +1 @@ +020 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings_list new file mode 100644 index 0000000000..7ed6ff82de --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu5/topology/thread_siblings_list @@ -0,0 +1 @@ +5 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/online b/tests/virhostcpudata/linux-with-die/cpu/cpu6/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus new file mode 100644 index 0000000000..9070bc3017 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus @@ -0,0 +1 @@ +040 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus_list new file mode 100644 index 0000000000..1e8b314962 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_cpus_list @@ -0,0 +1 @@ +6 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/core_siblings_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus new file mode 100644 index 0000000000..8f0552ead0 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus @@ -0,0 +1 @@ +0c0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus_list new file mode 100644 index 0000000000..fdd9f37517 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_cpus_list @@ -0,0 +1 @@ +6-7 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/die_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/package_cpus_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/physical_package_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings new file mode 100644 index 0000000000..9070bc3017 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings @@ -0,0 +1 @@ +040 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings_list new file mode 100644 index 0000000000..1e8b314962 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu6/topology/thread_siblings_list @@ -0,0 +1 @@ +6 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/online b/tests/virhostcpudata/linux-with-die/cpu/cpu7/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus new file mode 100644 index 0000000000..fa5c7835bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus @@ -0,0 +1 @@ +080 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus_list new file mode 100644 index 0000000000..7f8f011eb7 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_cpus_list @@ -0,0 +1 @@ +7 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/core_siblings_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus new file mode 100644 index 0000000000..8f0552ead0 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus @@ -0,0 +1 @@ +0c0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus_list new file mode 100644 index 0000000000..fdd9f37517 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_cpus_list @@ -0,0 +1 @@ +6-7 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/die_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/package_cpus_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/physical_package_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings new file mode 100644 index 0000000000..fa5c7835bd --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings @@ -0,0 +1 @@ +080 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings_list new file mode 100644 index 0000000000..7f8f011eb7 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu7/topology/thread_siblings_list @@ -0,0 +1 @@ +7 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/online b/tests/virhostcpudata/linux-with-die/cpu/cpu8/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus new file mode 100644 index 0000000000..29d6383b52 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus @@ -0,0 +1 @@ +100 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus_list new file mode 100644 index 0000000000..45a4fb75db --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_cpus_list @@ -0,0 +1 @@ +8 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_id new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/core_siblings_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus new file mode 100644 index 0000000000..697cb3a26d --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus @@ -0,0 +1 @@ +300 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus_list new file mode 100644 index 0000000000..63edceec1e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_cpus_list @@ -0,0 +1 @@ +8-9 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/die_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/package_cpus_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/physical_package_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings new file mode 100644 index 0000000000..29d6383b52 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings @@ -0,0 +1 @@ +100 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings_list new file mode 100644 index 0000000000..45a4fb75db --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu8/topology/thread_siblings_list @@ -0,0 +1 @@ +8 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/online b/tests/virhostcpudata/linux-with-die/cpu/cpu9/online new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/online @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus new file mode 100644 index 0000000000..08839f6bb2 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus @@ -0,0 +1 @@ +200 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus_list new file mode 100644 index 0000000000..ec635144f6 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_cpus_list @@ -0,0 +1 @@ +9 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_id b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/core_siblings_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus new file mode 100644 index 0000000000..697cb3a26d --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus @@ -0,0 +1 @@ +300 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus_list new file mode 100644 index 0000000000..63edceec1e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_cpus_list @@ -0,0 +1 @@ +8-9 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_id b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/die_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus new file mode 100644 index 0000000000..6c3274debe --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus @@ -0,0 +1 @@ +fc0 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus_list b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus_list new file mode 100644 index 0000000000..fd6c445982 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/package_cpus_list @@ -0,0 +1 @@ +6-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/physical_package_id b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/physical_package_id new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings new file mode 100644 index 0000000000..08839f6bb2 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings @@ -0,0 +1 @@ +200 diff --git a/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings_list b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings_list new file mode 100644 index 0000000000..ec635144f6 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/cpu9/topology/thread_siblings_list @@ -0,0 +1 @@ +9 diff --git a/tests/virhostcpudata/linux-with-die/cpu/online b/tests/virhostcpudata/linux-with-die/cpu/online new file mode 100644 index 0000000000..536e621dcc --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/online @@ -0,0 +1 @@ +0-11 diff --git a/tests/virhostcpudata/linux-with-die/cpu/present b/tests/virhostcpudata/linux-with-die/cpu/present new file mode 100644 index 0000000000..536e621dcc --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/cpu/present @@ -0,0 +1 @@ +0-11 diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu0 b/tests/virhostcpudata/linux-with-die/node/node0/cpu0 new file mode 120000 index 0000000000..c841bea28b --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu0 @@ -0,0 +1 @@ +../../cpu/cpu0 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu1 b/tests/virhostcpudata/linux-with-die/node/node0/cpu1 new file mode 120000 index 0000000000..5f4536279e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu1 @@ -0,0 +1 @@ +../../cpu/cpu1 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu10 b/tests/virhostcpudata/linux-with-die/node/node0/cpu10 new file mode 120000 index 0000000000..a6dc6bb10e --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu10 @@ -0,0 +1 @@ +../../cpu/cpu10 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu11 b/tests/virhostcpudata/linux-with-die/node/node0/cpu11 new file mode 120000 index 0000000000..e29d898284 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu11 @@ -0,0 +1 @@ +../../cpu/cpu11 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu2 b/tests/virhostcpudata/linux-with-die/node/node0/cpu2 new file mode 120000 index 0000000000..2dcca332ce --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu2 @@ -0,0 +1 @@ +../../cpu/cpu2 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu3 b/tests/virhostcpudata/linux-with-die/node/node0/cpu3 new file mode 120000 index 0000000000..c7690e5aa6 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu3 @@ -0,0 +1 @@ +../../cpu/cpu3 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu4 b/tests/virhostcpudata/linux-with-die/node/node0/cpu4 new file mode 120000 index 0000000000..9e77a64eb4 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu4 @@ -0,0 +1 @@ +../../cpu/cpu4 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu5 b/tests/virhostcpudata/linux-with-die/node/node0/cpu5 new file mode 120000 index 0000000000..cc07c3b97b --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu5 @@ -0,0 +1 @@ +../../cpu/cpu5 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu6 b/tests/virhostcpudata/linux-with-die/node/node0/cpu6 new file mode 120000 index 0000000000..2e7576354f --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu6 @@ -0,0 +1 @@ +../../cpu/cpu6 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu7 b/tests/virhostcpudata/linux-with-die/node/node0/cpu7 new file mode 120000 index 0000000000..09e3f79b43 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu7 @@ -0,0 +1 @@ +../../cpu/cpu7 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu8 b/tests/virhostcpudata/linux-with-die/node/node0/cpu8 new file mode 120000 index 0000000000..bda10cc343 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu8 @@ -0,0 +1 @@ +../../cpu/cpu8 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpu9 b/tests/virhostcpudata/linux-with-die/node/node0/cpu9 new file mode 120000 index 0000000000..1ec1db255a --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpu9 @@ -0,0 +1 @@ +../../cpu/cpu9 \ No newline at end of file diff --git a/tests/virhostcpudata/linux-with-die/node/node0/cpulist b/tests/virhostcpudata/linux-with-die/node/node0/cpulist new file mode 100644 index 0000000000..536e621dcc --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/node0/cpulist @@ -0,0 +1 @@ +0-11 diff --git a/tests/virhostcpudata/linux-with-die/node/online b/tests/virhostcpudata/linux-with-die/node/online new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/online @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-with-die/node/possible b/tests/virhostcpudata/linux-with-die/node/possible new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/virhostcpudata/linux-with-die/node/possible @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-x86_64-with-die.cpuinfo b/tests/virhostcpudata/linux-x86_64-with-die.cpuinfo new file mode 100644 index 0000000000..f57be77f0c --- /dev/null +++ b/tests/virhostcpudata/linux-x86_64-with-die.cpuinfo @@ -0,0 +1,323 @@ +processor : 0 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 0 +siblings : 6 +core id : 0 +cpu cores : 6 +apicid : 0 +initial apicid : 0 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 1 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 0 +siblings : 6 +core id : 1 +cpu cores : 6 +apicid : 1 +initial apicid : 1 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 2 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 0 +siblings : 6 +core id : 0 +cpu cores : 6 +apicid : 2 +initial apicid : 2 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 3 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 0 +siblings : 6 +core id : 1 +cpu cores : 6 +apicid : 3 +initial apicid : 3 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 4 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 0 +siblings : 6 +core id : 0 +cpu cores : 6 +apicid : 4 +initial apicid : 4 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 5 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 0 +siblings : 6 +core id : 1 +cpu cores : 6 +apicid : 5 +initial apicid : 5 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 6 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 1 +siblings : 6 +core id : 0 +cpu cores : 6 +apicid : 8 +initial apicid : 8 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 7 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 1 +siblings : 6 +core id : 1 +cpu cores : 6 +apicid : 9 +initial apicid : 9 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 8 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 1 +siblings : 6 +core id : 0 +cpu cores : 6 +apicid : 10 +initial apicid : 10 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 9 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 1 +siblings : 6 +core id : 1 +cpu cores : 6 +apicid : 11 +initial apicid : 11 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 10 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 1 +siblings : 6 +core id : 0 +cpu cores : 6 +apicid : 12 +initial apicid : 12 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: + +processor : 11 +vendor_id : GenuineIntel +cpu family : 6 +model : 6 +model name : QEMU Virtual CPU version 2.5+ +stepping : 3 +microcode : 0x1 +cpu MHz : 1897.801 +cache size : 16384 KB +physical id : 1 +siblings : 6 +core id : 1 +cpu cores : 6 +apicid : 13 +initial apicid : 13 +fpu : yes +fpu_exception : yes +cpuid level : 31 +wp : yes +flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 3795.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +power management: diff --git a/tests/virhostcpudata/linux-x86_64-with-die.expected b/tests/virhostcpudata/linux-x86_64-with-die.expected new file mode 100644 index 0000000000..3c045f483a --- /dev/null +++ b/tests/virhostcpudata/linux-x86_64-with-die.expected @@ -0,0 +1 @@ +CPUs: 12/12, MHz: 1897, Nodes: 1, Sockets: 1, Cores: 12, Threads: 1 diff --git a/tests/virhostcputest.c b/tests/virhostcputest.c index 05c6f5acfb..7865b61578 100644 --- a/tests/virhostcputest.c +++ b/tests/virhostcputest.c @@ -248,6 +248,7 @@ mymain(void) /* subcores, invalid configuration */ {"subcores3", VIR_ARCH_PPC64}, {"with-frequency", VIR_ARCH_S390X}, + {"with-die", VIR_ARCH_X86_64}, }; if (virInitialize() < 0) -- 2.23.0

On Fri, Jan 10, 2020 at 11:20:58 +0000, Daniel P. Berrangé wrote:
Latest generation CPUs (CascadeLake-AP) support a new topology level known as a 'die', sitting between a socket and a core.
QEMU supports this with -smp arg since 4.1.0 ...
Changed in v2:
- Fixed docs for dies attribute - Improve error checking when parsing - Misc typos
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

On Fri, Jan 10, 2020 at 01:36:54PM +0100, Jiri Denemark wrote:
On Fri, Jan 10, 2020 at 11:20:58 +0000, Daniel P. Berrangé wrote:
Latest generation CPUs (CascadeLake-AP) support a new topology level known as a 'die', sitting between a socket and a core.
QEMU supports this with -smp arg since 4.1.0 ...
Changed in v2:
- Fixed docs for dies attribute - Improve error checking when parsing - Misc typos
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
NB, given that DV has released rc1, this will now wait until after release before pushing Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
participants (2)
-
Daniel P. Berrangé
-
Jiri Denemark