From: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org,
Eduardo Habkost <eduardo@habkost.net>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <richard.henderson@linaro.org>,
David Hildenbrand <david@redhat.com>,
Halil Pasic <pasic@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Eric Farman <farman@linux.ibm.com>,
Thomas Huth <thuth@redhat.com>, Eric Blake <eblake@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Michael Roth <michael.roth@amd.com>,
Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Yanan Wang" <wangyanan55@huawei.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Ilya Leoshkevich" <iii@linux.ibm.com>,
"Cleber Rosa" <crosa@redhat.com>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Beraldo Leal" <bleal@redhat.com>
Subject: [PATCH v26 01/21] qapi: machine.json: change docs regarding CPU topology
Date: Mon, 16 Oct 2023 20:39:05 +0200 [thread overview]
Message-ID: <20231016183925.2384704-2-nsg@linux.ibm.com> (raw)
In-Reply-To: <20231016183925.2384704-1-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>
---
qapi/machine.json | 58 +++++++++++++++++++++++++++++++----------------
1 file changed, 38 insertions(+), 20 deletions(-)
diff --git a/qapi/machine.json b/qapi/machine.json
index a08b6576ca..058e884fd2 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -71,8 +71,8 @@
#
# @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 of type CpuInstanceProperties 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 +899,34 @@
# 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 @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,21 +1484,33 @@
# Schema for CPU topology configuration. A missing value lets QEMU
# figure out a suitable value based on the ones that are provided.
#
+# The members other than @cpus and @maxcpus define topology
+# containers.
+#
+# The ordering from highest/coarsest to lowest/finest is:
+# @sockets, @dies, @clusters, @cores, @threads.
+#
+# Different architectures support different subsets of topology
+# containers.
+#
+# For examples, s390x does not have clusters and dies, the socket
+# is the parent container of cores.
+#
# @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 socket in the CPU topology
+# @dies: number of dies per parent container
#
-# @clusters: number of clusters per die in the CPU topology (since
+# @clusters: number of clusters per parent container (since
# 7.0)
#
-# @cores: number of cores per cluster in the CPU topology
+# @cores: number of cores per parent container
#
-# @threads: number of threads per core in the CPU topology
-#
-# @maxcpus: maximum number of hotpluggable virtual CPUs in the virtual
-# machine
+# @threads: number of threads per core
#
# Since: 6.1
##
--
2.39.2
next prev parent reply other threads:[~2023-10-16 18:45 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-16 18:39 [PATCH v26 00/21] s390x: CPU Topology Nina Schoetterl-Glausch
2023-10-16 18:39 ` Nina Schoetterl-Glausch [this message]
2023-10-17 9:40 ` [PATCH v26 01/21] qapi: machine.json: change docs regarding CPU topology Markus Armbruster
2023-10-17 11:10 ` Thomas Huth
2023-10-19 9:57 ` Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 02/21] CPU topology: extend with s390 specifics Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 03/21] s390x/cpu topology: add topology entries on CPU hotplug Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 04/21] target/s390x/cpu topology: handle STSI(15) and build the SYSIB Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 05/21] s390x/sclp: reporting the maximum nested topology entries Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 06/21] s390x/cpu topology: resetting the Topology-Change-Report Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 07/21] s390x/cpu topology: interception of PTF instruction Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 08/21] target/s390x/cpu topology: activate CPU topology Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 09/21] qapi/s390x/cpu topology: set-cpu-topology qmp command Nina Schoetterl-Glausch
2023-10-17 11:01 ` Markus Armbruster
2023-10-16 18:39 ` [PATCH v26 10/21] machine: adding s390 topology to query-cpu-fast Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 11/21] machine: adding s390 topology to info hotpluggable-cpus Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 12/21] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE QAPI event Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 13/21] qapi/s390x/cpu topology: add query-s390x-cpu-polarization command Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 14/21] docs/s390x/cpu topology: document s390x cpu topology Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 15/21] tests/avocado: s390x cpu topology core Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 16/21] tests/avocado: s390x cpu topology polarization Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 17/21] tests/avocado: s390x cpu topology entitlement tests Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 18/21] tests/avocado: s390x cpu topology test dedicated CPU Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 19/21] tests/avocado: s390x cpu topology test socket full Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 20/21] tests/avocado: s390x cpu topology dedicated errors Nina Schoetterl-Glausch
2023-10-16 18:39 ` [PATCH v26 21/21] tests/avocado: s390x cpu topology bad move Nina Schoetterl-Glausch
2023-10-17 11:16 ` [PATCH v26 00/21] s390x: CPU Topology Markus Armbruster
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=20231016183925.2384704-2-nsg@linux.ibm.com \
--to=nsg@linux.ibm.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=bleal@redhat.com \
--cc=borntraeger@linux.ibm.com \
--cc=crosa@redhat.com \
--cc=david@redhat.com \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=farman@linux.ibm.com \
--cc=iii@linux.ibm.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=michael.roth@amd.com \
--cc=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
--cc=wangyanan55@huawei.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).