Heterogeneous Memory Attribute Table describes links between NUMA nodes (what's the bandwidth and/or latency between two nodes and/or their side caches). This enables guests to fine tune their performance. Michal Prívozník (13): qemuxml2xmltest: Add "numatune-distance" test case conf: Move and rename virDomainParseScaledValue() numa_conf: Drop CPU from name of two functions qemu_command: Rename qemuBuildNumaArgStr() qemuBuildMachineCommandLine: Drop needless check numa_conf: Make virDomainNumaSetNodeCpumask() return void Allow NUMA nodes without vCPUs conf: Parse and format HMAT conf: Validate NUMA HMAT configuration numa: expose HMAT APIs qemu: Introduce QEMU_CAPS_NUMA_HMAT capability qemu: Build HMAT command line news: Document HMAT addition NEWS.rst | 5 + docs/formatdomain.html.in | 90 +++ docs/schemas/cputypes.rng | 118 +++- src/conf/cpu_conf.c | 2 +- src/conf/domain_conf.c | 140 +--- src/conf/numa_conf.c | 664 ++++++++++++++++-- src/conf/numa_conf.h | 72 +- src/libvirt_private.syms | 13 + src/libxl/xen_xl.c | 14 +- src/qemu/qemu_capabilities.c | 2 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 226 +++++- src/qemu/qemu_validate.c | 22 +- src/util/virxml.c | 72 ++ src/util/virxml.h | 8 + .../caps_5.0.0.aarch64.xml | 1 + .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 + .../caps_5.0.0.riscv64.xml | 1 + .../caps_5.0.0.x86_64.xml | 1 + .../caps_5.1.0.x86_64.xml | 1 + .../numatune-hmat.x86_64-latest.args | 53 ++ tests/qemuxml2argvdata/numatune-hmat.xml | 52 ++ tests/qemuxml2argvdata/numatune-no-vcpu.args | 33 + tests/qemuxml2argvdata/numatune-no-vcpu.xml | 42 ++ tests/qemuxml2argvtest.c | 2 + .../qemuxml2xmloutdata/numatune-distances.xml | 96 +++ tests/qemuxml2xmloutdata/numatune-hmat.xml | 1 + tests/qemuxml2xmloutdata/numatune-no-vcpu.xml | 1 + tests/qemuxml2xmltest.c | 3 + 29 files changed, 1536 insertions(+), 201 deletions(-) create mode 100644 tests/qemuxml2argvdata/numatune-hmat.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/numatune-hmat.xml create mode 100644 tests/qemuxml2argvdata/numatune-no-vcpu.args create mode 100644 tests/qemuxml2argvdata/numatune-no-vcpu.xml create mode 100644 tests/qemuxml2xmloutdata/numatune-distances.xml create mode 120000 tests/qemuxml2xmloutdata/numatune-hmat.xml create mode 120000 tests/qemuxml2xmloutdata/numatune-no-vcpu.xml -- 2.26.2