docs: Document CPU clusters

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Andrea Bolognani 2024-01-08 16:11:51 +01:00
parent 032d67311a
commit 1968f69b01
2 changed files with 26 additions and 18 deletions

View File

@ -77,6 +77,12 @@ The ``<host/>`` element consists of the following child elements:
Note that not all architectures support CPU dies: if the current
architecture doesn't, the value will be 0 for all CPUs.
``cluster_id``
Identifier for the cluster the CPU is in.
Note that not all architectures support CPU clusters: if the current
architecture doesn't, the value will be 0 for all CPUs.
``core_id``
Identifier for the core the CPU is in.
@ -84,7 +90,7 @@ The ``<host/>`` element consists of the following child elements:
List of CPUs that are in the same core.
The list will include the current CPU, plus all other CPUs that have the
same values for ``socket_id``, ``die_id`` and ``core_id``.
same values for ``socket_id``, ``die_id``, ``cluster_id`` and ``core_id``.
``secmodel``
To find out default security labels for different security models you need to
@ -196,7 +202,7 @@ capabilities enabled in the chip and BIOS you will see:
<microcode version='236'/>
<signature family='6' model='142' stepping='12'/>
<counter name='tsc' frequency='2303997000' scaling='no'/>
<topology sockets='1' dies='1' cores='4' threads='2'/>
<topology sockets='1' dies='1' clusters='1' cores='4' threads='2'/>
<maxphysaddr mode='emulate' bits='39'/>
<feature name='ds'/>
<feature name='acpi'/>
@ -261,14 +267,14 @@ capabilities enabled in the chip and BIOS you will see:
<sibling id='0' value='10'/>
</distances>
<cpus num='8'>
<cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0,4'/>
<cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1,5'/>
<cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2,6'/>
<cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3,7'/>
<cpu id='4' socket_id='0' die_id='0' core_id='0' siblings='0,4'/>
<cpu id='5' socket_id='0' die_id='0' core_id='1' siblings='1,5'/>
<cpu id='6' socket_id='0' die_id='0' core_id='2' siblings='2,6'/>
<cpu id='7' socket_id='0' die_id='0' core_id='3' siblings='3,7'/>
<cpu id='0' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0,4'/>
<cpu id='1' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1,5'/>
<cpu id='2' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2,6'/>
<cpu id='3' socket_id='0' die_id='0' cluster_id='0' core_id='3' siblings='3,7'/>
<cpu id='4' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0,4'/>
<cpu id='5' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1,5'/>
<cpu id='6' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2,6'/>
<cpu id='7' socket_id='0' die_id='0' cluster_id='0' core_id='3' siblings='3,7'/>
</cpus>
</cell>
</cells>

View File

@ -1377,7 +1377,7 @@ following collection of elements. :since:`Since 0.7.5`
<cpu match='exact'>
<model fallback='allow'>core2duo</model>
<vendor>Intel</vendor>
<topology sockets='1' dies='1' cores='2' threads='1'/>
<topology sockets='1' dies='1' clusters='1' cores='2' threads='1'/>
<cache level='3' mode='emulate'/>
<maxphysaddr mode='emulate' bits='42'/>
<feature policy='disable' name='lahf_lm'/>
@ -1388,7 +1388,7 @@ following collection of elements. :since:`Since 0.7.5`
<cpu mode='host-model'>
<model fallback='forbid'/>
<topology sockets='1' dies='1' cores='2' threads='1'/>
<topology sockets='1' dies='1' clusters='1' cores='2' threads='1'/>
</cpu>
...
@ -1414,7 +1414,7 @@ In case no restrictions need to be put on CPU model and its features, a simpler
...
<cpu>
<topology sockets='1' dies='1' cores='2' threads='1'/>
<topology sockets='1' dies='1' clusters='1' cores='2' threads='1'/>
</cpu>
...
@ -1579,12 +1579,14 @@ In case no restrictions need to be put on CPU model and its features, a simpler
``topology``
The ``topology`` element specifies requested topology of virtual CPU provided
to the guest.
Its attributes ``sockets``, ``dies`` (:since:`Since 6.1.0`), ``cores``,
and ``threads`` accept non-zero positive integer values.
Its attributes ``sockets``, ``dies`` (:since:`Since 6.1.0`), ``clusters``
(:since:`Since 10.1.0`), ``cores``, and ``threads`` 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 ``dies`` attribute is optional and will default to 1 if omitted, while
the other attributes are all mandatory.
number of clusters per die, number of cores per cluster, and number of
threads per core, respectively.
The ``dies`` and ``clusters`` attributes are 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 ``cpus`` element equals to the number of vcpus resulting from the
topology.