libvirt/docs
Michal Privoznik 06f405c627 qemu: Explicitly forbid live changing nodeset for strict numatune
Let's imagine a guest that's configured with strict numatune:

  <numatune>
    <memory mode='strict' nodeset='0'/>
  </numatune>

For guests with NUMA:
Depending on machine type used (see commit v6.4.0-rc1~75) we
generate either:

  1) -object '{"qom-type":"memory-backend-ram","id":"ram-node0",\
               "size":20971520,"host-nodes":[0],"policy":"preferred"}' \
     -numa node,nodeid=0,cpus=0,memdev=ram-node0

or

  2) -numa node,nodeid=0,cpus=0,mem=20480

Later, when QEMU boots up and cpuset CGroup controller is
available we further restrict QEMU there too. But there's a
behaviour difference hidden: while in case 1) QEMU is restricted
from beginning, in case 2) it is not and thus it may happen that
it will allocate memory from different NUMA node and even though
CGroup will try to migrate it, it may fail to do so (e.g. because
memory is locked). Therefore, one can argue that case 2) is
broken. NB, case 2) is exactly what mode 'restrictive' is for.
However, in case 1) we are unable to update QEMU with new
host-nodes, simply because it's lacking a command to do so.

For guests without NUMA:
It's very close to case 2) from above. We have commit
v7.10.0-rc1~163 that prevents us from outputting host-nodes when
generating memory-backend-* for system memory, but that simply
allows QEMU to allocate memory anywhere and then relies on
CGroups to move it to desired location.

Due to all of this, there is no reliable way to change nodeset
for mode 'strict'. Let's forbid it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2021-12-17 13:21:48 +01:00
..
fonts meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
gitdm gitdm: Add other email into Red Hat company list 2021-10-12 16:46:45 +02:00
go meson: Use 'rst2html5' instead of 'rst2html' everywhere 2021-08-10 16:33:07 +02:00
html meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
internals docs: use g_auto in virCommand example 2021-12-14 16:41:36 +01:00
js meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
kbase kbase: Document virtio-mem 2021-10-01 11:05:12 +02:00
logos docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
manpages qemu: Explicitly forbid live changing nodeset for strict numatune 2021-12-17 13:21:48 +01:00
schemas conf: add support for setting SEV kernel hashes 2021-12-16 18:02:58 +00: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: Update more links to point to the new Go modules 2021-12-09 12:16:17 +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 docs: add a link to Gitlab on the contributing page 2021-06-15 12:14: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: Update more links to point to the new Go modules 2021-12-09 12:16:17 +01:00
downloads.html.in docs: Use new URLs for Go modules in downloads page 2021-11-17 17:45:55 +01: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 Add PCI VPD Capability Documentation 2021-10-21 17:34:04 +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 docs: fix migration_features element name in formatcaps.html.in 2021-09-15 17:00:19 +02:00
formatcheckpoint.rst conf: checkpoint: Don't require <domain> when redefining checkpoints 2020-12-04 16:15:03 +01:00
formatdomain.rst qemu: Allow VIR_DOMAIN_NUMATUNE_MEM_RESTRICTIVE in qemuDomainSetNumaParamsLive() 2021-12-17 13:18:54 +01:00
formatdomaincaps.html.in conf: extend domain capabilities for max SEV guest count 2021-12-14 16:04:17 +00: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 Add PCI VPD Capability Documentation 2021-10-21 17:34:04 +01: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: add minor clarifications for librbd encryption 2021-11-09 14:42:23 +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 build: regenerate .png files 2012-07-23 16:07:13 -06:00
libvirt-daemon-arch.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt-driver-arch.png build: regenerate .png files 2012-07-23 16:07:13 -06:00
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 build: regenerate .png files 2012-07-23 16:07:13 -06:00
libvirt-object-model.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt-virConnect-example.png internals: Update to include RPC and Lock links and add new data 2013-03-04 17:36:03 -05:00
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: Convert 'migration' doc to RST 2021-12-07 09:00:39 +01:00
migration-managed-direct.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration-managed-direct.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-managed-p2p.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration-managed-p2p.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-native.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration-native.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-tunnel.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration-tunnel.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-unmanaged-direct.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration-unmanaged-direct.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration.rst docs: migration: Add a paragraph about non-shared storage migration 2021-12-07 09:00:39 +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: Format @variable properly 2021-09-15 08:37:40 +02:00
newreposetup.rst docs: Document CIRRUS_GITHUB_REPO variable 2020-06-11 12:03:41 +02:00
node.gif * doc/*: augment and try to complete the doc in its current state 2006-01-23 13:24:07 +00:00
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: add go-import meta tags for new go modules 2021-07-02 15:05:15 +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 Add suggestions for virt-pki-query-dn usage 2021-11-12 12:37:29 +01: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