qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-s390x@nongnu.org,
	Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Subject: [PULL 01/25] qapi: machine.json: change docs regarding CPU topology
Date: Wed, 18 Oct 2023 15:06:52 +0200	[thread overview]
Message-ID: <20231018130716.286638-2-thuth@redhat.com> (raw)
In-Reply-To: <20231018130716.286638-1-thuth@redhat.com>

From: Nina Schoetterl-Glausch <nsg@linux.ibm.com>

Clarify roles of different architectures.
Also change things a bit in anticipation of additional members being
added.

Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Message-ID: <20231016183925.2384704-2-nsg@linux.ibm.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
[thuth: Updated some comments according to suggestions from Markus]
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 qapi/machine.json | 59 ++++++++++++++++++++++++++++++-----------------
 1 file changed, 38 insertions(+), 21 deletions(-)

diff --git a/qapi/machine.json b/qapi/machine.json
index a08b6576ca..f053245756 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -71,8 +71,7 @@
 #
 # @thread-id: ID of the underlying host thread
 #
-# @props: properties describing to which node/socket/core/thread
-#     virtual CPU belongs to, provided if supported by board
+# @props: properties associated with a virtual CPU, e.g. the socket id
 #
 # @target: the QEMU system emulation target, which determines which
 #     additional fields will be listed (since 3.0)
@@ -899,28 +898,35 @@
 # should be passed by management with device_add command when a CPU is
 # being hotplugged.
 #
+# Which members are optional and which mandatory depends on the
+# architecture and board.
+#
+# The ids other than the node-id specify the position of the CPU
+# within the CPU topology (as defined by the machine property "smp",
+# thus see also type @SMPConfiguration)
+#
 # @node-id: NUMA node ID the CPU belongs to
 #
-# @socket-id: socket number within node/board the CPU belongs to
+# @socket-id: socket number within CPU topology the CPU belongs to
 #
-# @die-id: die number within socket the CPU belongs to (since 4.1)
+# @die-id: die number within the parent container the CPU belongs to
+#    (since 4.1)
 #
-# @cluster-id: cluster number within die the CPU belongs to (since
-#     7.1)
+# @cluster-id: cluster number within the parent container the CPU
+#     belongs to (since 7.1)
 #
-# @core-id: core number within cluster the CPU belongs to
+# @core-id: core number within the parent container the CPU
+#     belongs to
 #
-# @thread-id: thread number within core the CPU belongs to
+# @thread-id: thread number within the core the CPU  belongs to
 #
-# Note: currently there are 6 properties that could be present but
-#     management should be prepared to pass through other properties
-#     with device_add command to allow for future interface extension.
-#     This also requires the filed names to be kept in sync with the
-#     properties passed to -device/device_add.
+# Note: management should be prepared to pass through additional
+#     properties with device_add.
 #
 # Since: 2.7
 ##
 { 'struct': 'CpuInstanceProperties',
+  # Keep these in sync with the properties device_add accepts
   'data': { '*node-id': 'int',
             '*socket-id': 'int',
             '*die-id': 'int',
@@ -1478,22 +1484,33 @@
 # Schema for CPU topology configuration.  A missing value lets QEMU
 # figure out a suitable value based on the ones that are provided.
 #
-# @cpus: number of virtual CPUs in the virtual machine
-#
-# @sockets: number of sockets in the CPU topology
+# The members other than @cpus and @maxcpus define a topology of
+# containers.
 #
-# @dies: number of dies per socket in the CPU topology
+# The ordering from highest/coarsest to lowest/finest is:
+# @sockets, @dies, @clusters, @cores, @threads.
 #
-# @clusters: number of clusters per die in the CPU topology (since
-#     7.0)
+# Different architectures support different subsets of topology
+# containers.
 #
-# @cores: number of cores per cluster in the CPU topology
+# For example, s390x does not have clusters and dies, and the socket
+# is the parent container of cores.
 #
-# @threads: number of threads per core in the CPU topology
+# @cpus: number of virtual CPUs in the virtual machine
 #
 # @maxcpus: maximum number of hotpluggable virtual CPUs in the virtual
 #     machine
 #
+# @sockets: number of sockets in the CPU topology
+#
+# @dies: number of dies per parent container
+#
+# @clusters: number of clusters per parent container (since 7.0)
+#
+# @cores: number of cores per parent container
+#
+# @threads: number of threads per core
+#
 # Since: 6.1
 ##
 { 'struct': 'SMPConfiguration', 'data': {
-- 
2.41.0



  reply	other threads:[~2023-10-18 13:07 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-18 13:06 [PULL 00/25] s390x patches Thomas Huth
2023-10-18 13:06 ` Thomas Huth [this message]
2023-10-18 13:06 ` [PULL 02/25] CPU topology: extend with s390 specifics Thomas Huth
2023-10-18 13:06 ` [PULL 03/25] s390x/cpu topology: add topology entries on CPU hotplug Thomas Huth
2023-10-19 17:57   ` Nina Schoetterl-Glausch
2023-10-18 13:06 ` [PULL 04/25] target/s390x/cpu topology: handle STSI(15) and build the SYSIB Thomas Huth
2023-10-18 13:06 ` [PULL 05/25] s390x/sclp: reporting the maximum nested topology entries Thomas Huth
2023-10-18 13:06 ` [PULL 06/25] s390x/cpu topology: resetting the Topology-Change-Report Thomas Huth
2023-10-19 16:35   ` Stefan Hajnoczi
2023-10-19 17:55     ` Nina Schoetterl-Glausch
2023-10-19 19:32       ` Thomas Huth
2023-10-20  9:26         ` Nina Schoetterl-Glausch
2023-10-18 13:06 ` [PULL 07/25] s390x/cpu topology: interception of PTF instruction Thomas Huth
2023-10-18 13:06 ` [PULL 08/25] target/s390x/cpu topology: activate CPU topology Thomas Huth
2023-10-18 13:07 ` [PULL 09/25] qapi/s390x/cpu topology: set-cpu-topology qmp command Thomas Huth
2023-10-18 13:07 ` [PULL 10/25] machine: adding s390 topology to query-cpu-fast Thomas Huth
2023-10-18 13:07 ` [PULL 11/25] machine: adding s390 topology to info hotpluggable-cpus Thomas Huth
2023-10-18 13:07 ` [PULL 12/25] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE QAPI event Thomas Huth
2023-10-18 13:07 ` [PULL 13/25] qapi/s390x/cpu topology: add query-s390x-cpu-polarization command Thomas Huth
2023-10-18 13:07 ` [PULL 14/25] docs/s390x/cpu topology: document s390x cpu topology Thomas Huth
2023-10-18 13:07 ` [PULL 15/25] tests/avocado: s390x cpu topology core Thomas Huth
2023-10-18 13:07 ` [PULL 16/25] tests/avocado: s390x cpu topology polarization Thomas Huth
2023-10-18 13:07 ` [PULL 17/25] tests/avocado: s390x cpu topology entitlement tests Thomas Huth
2023-10-18 13:07 ` [PULL 18/25] tests/avocado: s390x cpu topology test dedicated CPU Thomas Huth
2023-10-18 13:07 ` [PULL 19/25] tests/avocado: s390x cpu topology test socket full Thomas Huth
2023-10-18 13:07 ` [PULL 20/25] tests/avocado: s390x cpu topology dedicated errors Thomas Huth
2023-10-18 13:07 ` [PULL 21/25] tests/avocado: s390x cpu topology bad move Thomas Huth
2023-10-18 13:07 ` [PULL 22/25] hw/s390x: Clean up global variable shadowing in quiesce_powerdown_req() Thomas Huth
2023-10-18 13:07 ` [PULL 23/25] target/s390x/kvm: Turn KVM_CAP_SYNC_REGS into a hard requirement Thomas Huth
2023-10-18 13:07 ` [PULL 24/25] target/s390x/kvm: Simplify the GPRs, ACRs, CRs and prefix synchronization code Thomas Huth
2023-10-18 13:07 ` [PULL 25/25] tests/qtest/migration-test: Disable the analyze-migration.py test on s390x Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231018130716.286638-2-thuth@redhat.com \
    --to=thuth@redhat.com \
    --cc=nsg@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).