From 7ecd7e6e331221e0390da5cb1ea041b05283ef49 Mon Sep 17 00:00:00 2001 From: Tetsuro Nakamura Date: Sat, 3 Feb 2018 17:35:40 +0900 Subject: [PATCH] doc: merge numa.rst to cpu-topologies.rst The explanation of NUMA topology feature of nova exited in both numa.rst and cpu-topologies.rst under doc/source/admin/. This patch merges them for cleaning up. Change-Id: I35e23b2e1ac55c74faf4f0542498e45f2957e4d3 --- doc/source/_extra/.htaccess | 1 + doc/source/admin/cpu-topologies.rst | 24 ++++++++++++++++++++---- doc/source/admin/index.rst | 1 - doc/source/admin/numa.rst | 26 -------------------------- doc/test/redirect-tests.txt | 1 + 5 files changed, 22 insertions(+), 31 deletions(-) delete mode 100644 doc/source/admin/numa.rst diff --git a/doc/source/_extra/.htaccess b/doc/source/_extra/.htaccess index f142f893cb19..24cbe597f0de 100644 --- a/doc/source/_extra/.htaccess +++ b/doc/source/_extra/.htaccess @@ -7,6 +7,7 @@ redirectmatch 301 ^/nova/([^/]+)/addmethod.openstackapi.html$ /nova/$1/contributor/api-2.html redirectmatch 301 ^/nova/([^/]+)/admin/flavors2.html$ /nova/$1/admin/flavors.html +redirectmatch 301 ^/nova/([^/]+)/admin/numa.html$ /nova/$1/admin/cpu-topologies.html redirectmatch 301 ^/nova/([^/]+)/aggregates.html$ /nova/$1/user/aggregates.html redirectmatch 301 ^/nova/([^/]+)/api_microversion_dev.html$ /nova/$1/contributor/microversions.html redirectmatch 301 ^/nova/([^/]+)/api_microversion_history.html$ /nova/$1/reference/api-microversion-history.html diff --git a/doc/source/admin/cpu-topologies.rst b/doc/source/admin/cpu-topologies.rst index 12c035796559..205ffb0c64f1 100644 --- a/doc/source/admin/cpu-topologies.rst +++ b/doc/source/admin/cpu-topologies.rst @@ -96,12 +96,28 @@ also should be local. Finally, PCI devices are directly associated with specific NUMA nodes for the purposes of DMA. Instances that use PCI or SR-IOV devices should be placed on the NUMA node associated with these devices. +NUMA topology can exist on both the physical hardware of the host and the +virtual hardware of the instance. In OpenStack, when booting a process, the +hypervisor driver looks at the NUMA topology field of both the instance and +the host it is being booted on, and uses that information to generate an +appropriate configuration. + By default, an instance floats across all NUMA nodes on a host. NUMA awareness can be enabled implicitly through the use of huge pages or pinned CPUs or -explicitly through the use of flavor extra specs or image metadata. In all -cases, the ``NUMATopologyFilter`` filter must be enabled. Details on this -filter are provided in :doc:`/admin/configuration/schedulers` in Nova -configuration guide. +explicitly through the use of flavor extra specs or image metadata. If the +instance has requested a specific NUMA topology, compute will try to pin the +vCPUs of different NUMA cells on the instance to the corresponding NUMA cells +on the host. It will also expose the NUMA topology of the instance to the +guest OS. + +If you want compute to pin a particular vCPU as part of this process, +set the ``vcpu_pin_set`` parameter in the ``nova.conf`` configuration +file. For more information about the ``vcpu_pin_set`` parameter, see the +:doc:`/configuration/config`. + +In all cases where NUMA awareness is used, the ``NUMATopologyFilter`` +filter must be enabled. Details on this filter are provided in +:doc:`/admin/configuration/schedulers`. .. caution:: diff --git a/doc/source/admin/index.rst b/doc/source/admin/index.rst index 831252d21032..01a777589f9b 100644 --- a/doc/source/admin/index.rst +++ b/doc/source/admin/index.rst @@ -32,7 +32,6 @@ operating system, and exposes functionality over a web-based API. migration.rst networking-nova.rst node-down.rst - numa.rst pci-passthrough.rst quotas2.rst quotas.rst diff --git a/doc/source/admin/numa.rst b/doc/source/admin/numa.rst deleted file mode 100644 index 21187387dc7c..000000000000 --- a/doc/source/admin/numa.rst +++ /dev/null @@ -1,26 +0,0 @@ -============================================= -Consider NUMA topology when booting instances -============================================= - -.. todo:: Merge this into 'cpu-topologies.rst' - -NUMA topology can exist on both the physical hardware of the host, and the -virtual hardware of the instance. OpenStack Compute uses libvirt to tune -instances to take advantage of NUMA topologies. The libvirt driver boot -process looks at the NUMA topology field of both the instance and the host it -is being booted on, and uses that information to generate an appropriate -configuration. - -If the host is NUMA capable, but the instance has not requested a NUMA -topology, Compute attempts to pack the instance into a single cell. -If this fails, though, Compute will not continue to try. - -If the host is NUMA capable, and the instance has requested a specific NUMA -topology, Compute will try to pin the vCPUs of different NUMA cells -on the instance to the corresponding NUMA cells on the host. It will also -expose the NUMA topology of the instance to the guest OS. - -If you want Compute to pin a particular vCPU as part of this process, -set the ``vcpu_pin_set`` parameter in the ``nova.conf`` configuration -file. For more information about the ``vcpu_pin_set`` parameter, see the -Configuration Reference Guide. diff --git a/doc/test/redirect-tests.txt b/doc/test/redirect-tests.txt index 4393dd1738bc..3cfcf826856f 100644 --- a/doc/test/redirect-tests.txt +++ b/doc/test/redirect-tests.txt @@ -1,5 +1,6 @@ /nova/latest/addmethod.openstackapi.html 301 /nova/latest/contributor/api-2.html /nova/latest/admin/flavors2.html 301 /nova/latest/admin/flavors.html +/nova/latest/admin/numa.html 301 /nova/latest/admin/cpu-topologies.html /nova/latest/aggregates.html 301 /nova/latest/user/aggregates.html /nova/latest/api_microversion_dev.html 301 /nova/latest/contributor/microversions.html /nova/latest/api_microversion_history.html 301 /nova/latest/reference/api-microversion-history.html