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

View File

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