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

Daniel P. Berrangé posted 5 patches 4 years, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20191219124208.1695428-1-berrange@redhat.com
Test syntax-check failed
There is a newer version of this series
docs/formatcaps.html.in                       |   2 +-
docs/formatdomain.html.in                     |  14 +-
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                           |  18 +-
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             | 324 ++++++++++++++++++
.../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, 887 insertions(+), 228 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
[libvirt] [PATCH 0/5] introduce support for CPU dies in host/guest topology
Posted by Daniel P. Berrangé 4 years, 4 months ago
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.

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                     |  14 +-
 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                           |  18 +-
 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             | 324 ++++++++++++++++++
 .../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, 887 insertions(+), 228 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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 0/5] introduce support for CPU dies in host/guest topology
Posted by Daniel P. Berrangé 4 years, 3 months ago
Ping

On Thu, Dec 19, 2019 at 12:42:03PM +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
> 
> 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.
> 
> 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                     |  14 +-
>  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                           |  18 +-
>  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             | 324 ++++++++++++++++++
>  .../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, 887 insertions(+), 228 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
> 

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 :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 0/5] introduce support for CPU dies in host/guest topology
Posted by Daniel Henrique Barboza 4 years, 3 months ago
A few nits and minor comments but LGTM.


All patches:


Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>


On 1/7/20 11:50 AM, Daniel P. Berrangé wrote:
> Ping
> 
> On Thu, Dec 19, 2019 at 12:42:03PM +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
>>
>> 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.
>>
>> 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                     |  14 +-
>>   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                           |  18 +-
>>   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             | 324 ++++++++++++++++++
>>   .../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, 887 insertions(+), 228 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
>>
> 
> Regards,
> Daniel
> 


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list