formatdomain.html.in: fix 'sockets' info in topology element

In the 'topology' element it is mentioned, regarding the sockets
value, "They refer to the total number of CPU sockets".

This is not accurate. What we're doing is calculating the number
of sockets per NUMA node, which can be checked in the current
implementation of virHostCPUGetInfoPopulateLinux(). Calculating
the total number of sockets would break the topology sanity
check nodes*sockets*cores*threads=online_cpus.

This documentation fix is important to avoid user confusion when
seeing the output of 'virsh capabilities' and expecting it to be
equal to the output of 'lscpu'. E.g in a Power 9 host this 'lscpu'
output:

Architecture:        ppc64le
Byte Order:          Little Endian
CPU(s):              160
On-line CPU(s) list: 0-159
Thread(s) per core:  4
Core(s) per socket:  20
Socket(s):           2
NUMA node(s):        2
Model:               2.2 (pvr 004e 1202)
Model name:          POWER9, altivec supported

And this XML output from virsh capabilities:

    <cpu>
      <arch>ppc64le</arch>
      <model>POWER9</model>
      <vendor>IBM</vendor>
      <topology sockets='1' dies='1' cores='20' threads='4'/>
      (...)
    </cpu>

Both are correct, as long as we mention in the Libvirt documentation
that 'sockets' in the topology element represents the number of sockets
per NUMA node.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Daniel Henrique Barboza 2020-04-01 07:56:37 -03:00 committed by Michal Privoznik
parent 08071ec0f1
commit 0895a0e75d

View File

@ -1675,9 +1675,9 @@
<dd>The <code>topology</code> element specifies requested topology of
virtual CPU provided to the guest. Four attributes, <code>sockets</code>,
<code>dies</code>, <code>cores</code>, and <code>threads</code>,
accept non-zero positive integer values. They refer to the total number
of CPU sockets, number of dies per socket, number of cores per die, and
number of threads per core, respectively. The <code>dies</code>
accept non-zero positive integer values. They refer to the number of
CPU sockets per NUMA node, number of dies per socket, number of cores
per die, and number of threads per core, respectively. The <code>dies</code>
attribute is optional and will default to 1 if omitted, while the other
attributes are all mandatory. Hypervisors may require that the maximum
number of vCPUs specified by the <code>cpus</code> element equals to