* [PATCH v2] docs/system/cpu-hotplug: Update example's socket-id/core-id
@ 2024-10-10 13:18 Peter Maydell
2024-10-18 15:52 ` Peter Maydell
0 siblings, 1 reply; 2+ messages in thread
From: Peter Maydell @ 2024-10-10 13:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Igor Mammedov
The example of how to do vCPU hotplug and hot-unlpug in the
cpu-hotplug documentation no longer works, because the way we
allocate socket-id and core-id to CPUs by default has changed at some
point. The output also no longer matches what current QEMU produces
in some more cosmetic ways.
Update the example to match current QEMU. The differences are:
* the second CPU is now socket-id=0 core-id=1,
not socket-id=1 core-id=0
* the order of fields in QMP responses is now in alphabetical order
* the "arch" member is no longer present in the query-cpus-fast
output (it was removed in QEMU 6.0)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Message-id: 20240819144303.37852-1-peter.maydell@linaro.org
---
v1->v2:
* update device_add command line to use right socket-id/core-id
* expand commit message to mention that "arch" field has gone
---
docs/system/cpu-hotplug.rst | 56 ++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 29 deletions(-)
diff --git a/docs/system/cpu-hotplug.rst b/docs/system/cpu-hotplug.rst
index 015ce2b6ec3..cc50937c36c 100644
--- a/docs/system/cpu-hotplug.rst
+++ b/docs/system/cpu-hotplug.rst
@@ -33,23 +33,23 @@ vCPU hotplug
{
"return": [
{
- "type": "IvyBridge-IBRS-x86_64-cpu",
- "vcpus-count": 1,
"props": {
- "socket-id": 1,
- "core-id": 0,
+ "core-id": 1,
+ "socket-id": 0,
"thread-id": 0
- }
+ },
+ "type": "IvyBridge-IBRS-x86_64-cpu",
+ "vcpus-count": 1
},
{
+ "props": {
+ "core-id": 0,
+ "socket-id": 0,
+ "thread-id": 0
+ },
"qom-path": "/machine/unattached/device[0]",
"type": "IvyBridge-IBRS-x86_64-cpu",
- "vcpus-count": 1,
- "props": {
- "socket-id": 0,
- "core-id": 0,
- "thread-id": 0
- }
+ "vcpus-count": 1
}
]
}
@@ -58,18 +58,18 @@ vCPU hotplug
(4) The ``query-hotpluggable-cpus`` command returns an object for CPUs
that are present (containing a "qom-path" member) or which may be
hot-plugged (no "qom-path" member). From its output in step (3), we
- can see that ``IvyBridge-IBRS-x86_64-cpu`` is present in socket 0,
- while hot-plugging a CPU into socket 1 requires passing the listed
+ can see that ``IvyBridge-IBRS-x86_64-cpu`` is present in socket 0 core 0,
+ while hot-plugging a CPU into socket 0 core 1 requires passing the listed
properties to QMP ``device_add``::
- (QEMU) device_add id=cpu-2 driver=IvyBridge-IBRS-x86_64-cpu socket-id=1 core-id=0 thread-id=0
+ (QEMU) device_add id=cpu-2 driver=IvyBridge-IBRS-x86_64-cpu socket-id=0 core-id=1 thread-id=0
{
"execute": "device_add",
"arguments": {
- "socket-id": 1,
+ "core-id": 1,
"driver": "IvyBridge-IBRS-x86_64-cpu",
"id": "cpu-2",
- "core-id": 0,
+ "socket-id": 0,
"thread-id": 0
}
}
@@ -83,34 +83,32 @@ vCPU hotplug
(QEMU) query-cpus-fast
{
- "execute": "query-cpus-fast",
"arguments": {}
+ "execute": "query-cpus-fast",
}
{
"return": [
{
- "qom-path": "/machine/unattached/device[0]",
- "target": "x86_64",
- "thread-id": 11534,
"cpu-index": 0,
"props": {
- "socket-id": 0,
"core-id": 0,
+ "socket-id": 0,
"thread-id": 0
},
- "arch": "x86"
+ "qom-path": "/machine/unattached/device[0]",
+ "target": "x86_64",
+ "thread-id": 28957
},
{
- "qom-path": "/machine/peripheral/cpu-2",
- "target": "x86_64",
- "thread-id": 12106,
"cpu-index": 1,
"props": {
- "socket-id": 1,
- "core-id": 0,
+ "core-id": 1,
+ "socket-id": 0,
"thread-id": 0
},
- "arch": "x86"
+ "qom-path": "/machine/peripheral/cpu-2",
+ "target": "x86_64",
+ "thread-id": 29095
}
]
}
@@ -123,10 +121,10 @@ From the 'qmp-shell', invoke the QMP ``device_del`` command::
(QEMU) device_del id=cpu-2
{
- "execute": "device_del",
"arguments": {
"id": "cpu-2"
}
+ "execute": "device_del",
}
{
"return": {}
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] docs/system/cpu-hotplug: Update example's socket-id/core-id
2024-10-10 13:18 [PATCH v2] docs/system/cpu-hotplug: Update example's socket-id/core-id Peter Maydell
@ 2024-10-18 15:52 ` Peter Maydell
0 siblings, 0 replies; 2+ messages in thread
From: Peter Maydell @ 2024-10-18 15:52 UTC (permalink / raw)
To: qemu-devel; +Cc: Igor Mammedov
On Thu, 10 Oct 2024 at 14:18, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> The example of how to do vCPU hotplug and hot-unlpug in the
> cpu-hotplug documentation no longer works, because the way we
> allocate socket-id and core-id to CPUs by default has changed at some
> point. The output also no longer matches what current QEMU produces
> in some more cosmetic ways.
>
> Update the example to match current QEMU. The differences are:
> * the second CPU is now socket-id=0 core-id=1,
> not socket-id=1 core-id=0
> * the order of fields in QMP responses is now in alphabetical order
> * the "arch" member is no longer present in the query-cpus-fast
> output (it was removed in QEMU 6.0)
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> Acked-by: Igor Mammedov <imammedo@redhat.com>
> Message-id: 20240819144303.37852-1-peter.maydell@linaro.org
I'll take this via target-arm.next unless there are any
objections.
thanks
-- PMM
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-10-18 15:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-10 13:18 [PATCH v2] docs/system/cpu-hotplug: Update example's socket-id/core-id Peter Maydell
2024-10-18 15:52 ` Peter Maydell
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).