libvirt/docs
Michal Privoznik 0cc6f8931f capabilities: Expose NUMA interconnects
Links between NUMA nodes can have different latencies and
bandwidths. This info is newly defined in ACPI 6.2 under
Heterogeneous Memory Attribute Table (HMAT) table. Linux kernel
learned how to report these values under sysfs and thus we can
expose them in our capabilities XML. The sysfs interface is
documented in kernel's Documentation/admin-guide/mm/numaperf.rst.

Long story short, two nodes can be in initiator-target
relationship. A node can be initiator if it has a CPU or a device
that's capable of initiating memory transfer. Therefore a node
that has just memory can only be target. An initiator-target link
can then have any combination of {bandwidth, latency} - {access,
read, write} attribute (6 in total). However, the standard says
access is applicable iff read and write values are the same.
Therefore, we really have just four combinations of attributes:
bandwidth-read, bandwidth-write, latency-read, latency-write.

This is the combination that kernel reports anyway.

Then, under /sys/system/devices/node/nodeX/acccessN/initiators we
find values for those 4 attributes and also symlinks named
"nodeN" which then represent initiators to nodeX. For instance:

  /sys/system/node/node1/access1/initiators/node0 -> ../../node0
  /sys/system/node/node1/access1/initiators/read_bandwidth
  /sys/system/node/node1/access1/initiators/read_latency
  /sys/system/node/node1/access1/initiators/write_bandwidth
  /sys/system/node/node1/access1/initiators/write_latency

This means that node0 is initiator and node1 is target and values
of the interconnect can be read.

In theory, there can be separate links to memory side caches too
(e.g. one link from node X to node Y's main memory, another from
node X to node Y's L1 cache, another one to L2 cache and so on).
But sysfs does not express this relationship just yet.

The "accessN" means either "access0" or "access1". The difference
is that while the former expresses the best interconnect between
two nodes including CPUS and I/O devices (such as GPUs and NICs),
the latter includes only CPUs and thus is what we need.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1786309
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
2021-06-15 11:03:25 +02:00
..
fonts meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
gitdm gitdm: add more individual contributors 2020-09-25 16:00:06 +02:00
go docs: introduce stubs for new libvirt Go packages 2021-06-07 17:04:14 +01:00
html meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
internals lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
js meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
kbase docs: virtiofs: describe memfd memory backend 2021-06-07 16:35:16 +02:00
logos docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
manpages virsh: Expose new win-dmp dump format 2021-05-20 16:24:06 +02:00
schemas capabilities: Expose NUMA interconnects 2021-06-15 11:03:25 +02:00
404.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
acl.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
aclpolkit.rst docs: html.in: Convert aclpolkit to rst 2021-03-15 17:31:35 +01:00
advanced-tests.rst lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
android-chrome-192x192.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
android-chrome-256x256.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
api_extension.rst lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
api.rst docs: html.in: Convert api to rst 2021-03-15 17:31:35 +01:00
apple-touch-icon.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
apps.rst docs: html.in: Convert apps to rst 2021-03-15 17:31:35 +01:00
auditlog.rst docs: html.in: Convert auditlog to rst 2021-03-15 17:31:57 +01:00
auth.rst docs: auth: Fix a couple of stylistic issues 2021-03-23 17:55:06 +01:00
best-practices.rst Prefer https: for Red Hat websites 2020-09-01 21:58:46 +02:00
bindings.rst docs: html.in: Convert bindings to rst 2021-03-15 17:32:27 +01:00
browserconfig.xml docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
bugs.html.in Prefer https: for Red Hat websites 2020-09-01 21:58:46 +02:00
cgroups.html.in vircgroup: introduce nested cgroup to properly work with systemd 2021-02-10 13:37:12 +01:00
ci.rst docs: switch ci status page to use Go -module repos 2021-06-09 14:48:40 +01:00
coding-style.rst lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
committer-guidelines.rst meson: adjust our documentation to mention meson instead of autoconf 2020-08-03 09:27:09 +02:00
compiling.rst docs/compiling: Add note on how to check minimum meson version 2021-03-16 10:49:33 +01:00
contact.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
contribute.html.in Fix errors in contribute.html.in 2020-09-10 09:13:52 +02:00
csharp.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
daemons.rst docs: Small fixes for daemons.rst 2021-06-07 08:05:59 -06:00
dbus.html.in docs: point to GitLab as the primary git hosting 2020-06-03 13:38:33 +02:00
developer-tooling.rst docs: Add developer-tooling.rst 2020-04-08 09:32:35 +02:00
devguide.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
docs.html.in docs: xsl: Unify stylability of main container element 2020-11-16 14:04:04 +01:00
downloads.html.in downloads.html: Add a link to GPG key used signing releases 2021-04-09 13:48:54 +02:00
drivers.html.in Add basic driver for the Cloud-Hypervisor 2021-06-04 10:56:06 +01:00
drvbhyve.html.in docs: bhyve: document virtio-9p support 2020-10-12 15:26:00 +04:00
drvch.rst Add basic driver for the Cloud-Hypervisor 2021-06-04 10:56:06 +01:00
drvesx.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
drvhyperv.html.in docs: drop support for Windows versions prior to 2012R2 2020-11-09 15:26:02 +00:00
drvlxc.html.in docs: Document lxc.conf location 2021-03-12 10:52:41 +01:00
drvnodedev.html.in node_device: detecting mdev_types capability on CSS devices 2020-11-11 16:56:33 +01:00
drvopenvz.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
drvqemu.rst qemu: Formally deprecate support for qemu < 2.11 2021-05-03 12:14:44 +02:00
drvremote.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvsecret.html.in docs: fix since version in driver documentation 2020-01-27 17:36:05 +01:00
drvtest.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvvbox.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
drvvirtuozzo.html.in Virtuozzo URL has been changed 2021-03-24 14:24:55 +03:00
drvvmware.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
drvxen.html.in docs: Document libxl.conf location 2021-03-12 10:52:51 +01:00
errors.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
favicon-16x16.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
favicon-32x32.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
favicon.ico docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
firewall.html.in doc: document new filters and not documented ones 2020-11-04 17:21:45 +01:00
format.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
formatbackup.rst conf: backup: Format index of 'store' 2020-12-08 15:12:34 +01:00
formatcaps.html.in conf: add support for specifying CPU "dies" parameter 2020-01-16 15:11:42 +00:00
formatcheckpoint.rst conf: checkpoint: Don't require <domain> when redefining checkpoints 2020-12-04 16:15:03 +01:00
formatdomain.rst docs: formatdomain: Document disk serial truncation status quo 2021-06-07 17:01:14 +02:00
formatdomaincaps.html.in conf: domcaps: Report device <filesystem> 2021-05-18 14:33:21 +02:00
formatnetwork.html.in Fix format network dns doc 2021-01-26 14:29:48 +01:00
formatnetworkport.html.in docs: formatnetworkport: Fix typos 2021-04-01 13:32:25 +02:00
formatnode.html.in nodedev: Revert auto-start property for mdevs 2021-05-27 15:38:28 +02:00
formatnwfilter.html.in doc: document new filters and not documented ones 2020-11-04 17:21:45 +01:00
formatsecret.html.in docs: secret: Unify and sanitize examples on how to set secret value 2020-01-28 18:10:36 +01:00
formatsnapshot.html.in conf: snapshot: Add support for <metadata_cache> 2021-01-08 15:27:00 +01:00
formatstorage.html.in storage: add support for QCOW2 cluster_size option 2021-05-21 14:00:43 +02:00
formatstoragecaps.html.in docs: Fix link for virConnectGetStoragePoolCapabilities 2020-12-02 16:15:43 +01:00
formatstorageencryption.html.in docs: support qcow2 format in luks encryption volume 2021-01-05 13:54:11 +01:00
generic.css docs: css: Make definition list 'code' entries bold when converted from rst 2020-08-03 18:41:11 +02:00
glib-adoption.rst docs: glib-adoption: add string arrays and objects 2020-10-02 14:10:44 +02:00
goals.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
governance.html.in docs/governance: Clarify the version number of the LGPL 2019-01-25 14:04:20 +01:00
hacking.rst Revert "docs: Drop glib-adoption.rst" 2020-10-02 14:10:40 +02:00
hooks.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
index.html.in docs: use a relative link to the kbase page 2021-02-03 16:33:18 +00:00
internals.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
java.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
libvirt-daemon-arch.png
libvirt-daemon-arch.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt-driver-arch.png
libvirt-driver-arch.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt-go-xml.rst docs: introduce stubs for new libvirt Go packages 2021-06-07 17:04:14 +01:00
libvirt-go.rst docs: introduce stubs for new libvirt Go packages 2021-06-07 17:04:14 +01:00
libvirt-object-model.png
libvirt-object-model.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt-virConnect-example.png
libvirt-virConnect-example.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt.css docs: css: Modify appearance of the kbase directory page 2020-11-16 14:04:04 +01:00
logging.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
main.css docs: make website responsive for mobile devices 2017-08-07 14:44:40 +01:00
manifest.json docs: Fix syntax-check error 2017-08-02 15:00:28 -04:00
meson.build docs: introduce stubs for new libvirt Go packages 2021-06-07 17:04:14 +01:00
migration-managed-direct.png
migration-managed-direct.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-managed-p2p.png
migration-managed-p2p.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-native.png
migration-native.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-tunnel.png
migration-tunnel.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-unmanaged-direct.png
migration-unmanaged-direct.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration.html.in docs: migration: remove xenmigr 2021-01-05 13:40:25 +01:00
mobile.css docs: add advanced search capabilities 2019-04-11 15:20:17 +01:00
mstile-150x150.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
newapi.xsl docs: fix libvirt go-import metadata in pages and links in 404 page 2020-08-04 17:06:33 +01:00
newreposetup.rst docs: Document CIRRUS_GITHUB_REPO variable 2020-06-11 12:03:41 +02:00
node.gif
node.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
nss.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
page.xsl docs: xsl: Unify stylability of main container element 2020-11-16 14:04:04 +01:00
pci-addresses.rst Fix spelling 2021-04-15 15:42:21 +02:00
pci-hotplug.html.in Prefer https: for libguestfs.org links 2020-09-01 21:58:46 +02:00
php.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
platforms.rst docs/platforms: Drop separate link to qemu-kvm on repology.org 2021-04-12 16:09:41 +02:00
programming-languages.rst Fix capitalization "CLang" -> "Clang" 2020-11-12 15:01:42 +01:00
python.html.in doc/python: Update to Python 3 2020-04-20 14:06:25 +01:00
remote.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
securityprocess.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
site.xsl docs: fix libvirt go-import metadata in pages and links in 404 page 2020-08-04 17:06:33 +01:00
storage.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
strategy.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
structures.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
styleguide.rst docs: Document list-tables as recommended 2020-05-11 13:55:27 +02:00
submitting-patches.rst docs/submitting-patches: add reference to DCO 2020-10-09 09:12:39 +02:00
subsite.xsl docs: fix libvirt go-import metadata in pages and links in 404 page 2020-08-04 17:06:33 +01:00
support.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
testapi.html.in docs: point to GitLab as the primary git hosting 2020-06-03 13:38:33 +02:00
testsuites.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
testtck.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
tlscerts.html.in docs: tlscerts: Fix a few broken links 2021-02-16 08:35:09 +01:00
uri.html.in docs: Add 'known_hosts_verify' parameter for libssh(2) connection uris 2021-02-05 16:02:22 +01:00
virshcmdref.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
windows.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00