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

Daniel P. Berrangé berrange at redhat.com
Tue Jan 7 14:50:54 UTC 2020


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




More information about the libvir-list mailing list