libvirt/docs-Document-CPU-clusters.patch
Jiabo Feng 307ea8abab libvirt update to version 9.10.0-4:
- docs: Document CPU clusters
- docs: Improve documentation for CPU topology
- tests: Verify handling of CPU clusters in QMP data
- qemu: Make monitor aware of CPU clusters
- qemu: Use CPU clusters for guests
- qemu: Introduce QEMU_CAPS_SMP_CLUSTERS
- conf: Allow specifying CPU clusters
- conf: Report CPU clusters in capabilities XML
- tests: Add hostcpudata for machine with CPU clusters
- cpu_map: add kunpeng-920 features to arm features
- cpu/aarch64: enable host-model cpu for AArch64 architecture
- conf/domain_conf: pin the retry_interval and retry_timeout parameters to xml
- nodedev: fix potential heap use after free
- libvirt/conf: Set default values of retry fileds
- qemu: Support 'retry' BLOCK_IO_ERROR event.
- libvirt: Add 'retry' support for error policy
- vdpa: support vdpa device migrate
- vdpa: support vdpa device hot plug/unplug
- hostdev:Introduce vDPA device to hostdev subsystem as a new subtype
- node_device: fix leak of DIR*
- migration/multifd-pin: support migration multifd thread pin
- migration/multifd-pin: add qemu monitor callback functions
- migration/migration-pin: add domainMigrationPid for qemuMonitorCallbacks
- migration/migration-pin: add migrationpin for migration parameters
- migration/migration-pin: add qemu monitor callback functions
- migration/migration-pin:add some migration/multiFd params
- qemu: add pointer check in qemuMonitorLastError
- qemu: fix a concurrent operation situation
- test/commandtest: skip the test4 if the testcase is run in the container env

Signed-off-by: Jiabo Feng <fengjiabo1@huawei.com>
2024-04-02 20:56:45 +08:00

125 lines
6.0 KiB
Diff

From 0041b76d5b82a15cbb0b1d6f70fe12e5017b940a Mon Sep 17 00:00:00 2001
From: Andrea Bolognani <abologna@redhat.com>
Date: Mon, 8 Jan 2024 16:11:51 +0100
Subject: [PATCH] docs: Document CPU clusters
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
---
docs/formatcaps.rst | 26 ++++++++++++++++----------
docs/formatdomain.rst | 18 ++++++++++--------
2 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/docs/formatcaps.rst b/docs/formatcaps.rst
index 60f8b7caca..f37532296f 100644
--- a/docs/formatcaps.rst
+++ b/docs/formatcaps.rst
@@ -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>
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index 366918b32c..2d794cc8a2 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -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.
--
2.27.0