mirror of https://github.com/xemu-project/xemu.git
docs/system/cpu-hotplug: Update example's socket-id/core-id
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: 20241010131800.3210161-1-peter.maydell@linaro.org Message-id: 20240819144303.37852-1-peter.maydell@linaro.org
This commit is contained in:
parent
918d0de072
commit
bda8c24cb5
|
@ -33,23 +33,23 @@ vCPU hotplug
|
||||||
{
|
{
|
||||||
"return": [
|
"return": [
|
||||||
{
|
{
|
||||||
"type": "IvyBridge-IBRS-x86_64-cpu",
|
|
||||||
"vcpus-count": 1,
|
|
||||||
"props": {
|
"props": {
|
||||||
"socket-id": 1,
|
"core-id": 1,
|
||||||
"core-id": 0,
|
"socket-id": 0,
|
||||||
"thread-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]",
|
"qom-path": "/machine/unattached/device[0]",
|
||||||
"type": "IvyBridge-IBRS-x86_64-cpu",
|
"type": "IvyBridge-IBRS-x86_64-cpu",
|
||||||
"vcpus-count": 1,
|
"vcpus-count": 1
|
||||||
"props": {
|
|
||||||
"socket-id": 0,
|
|
||||||
"core-id": 0,
|
|
||||||
"thread-id": 0
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -58,18 +58,18 @@ vCPU hotplug
|
||||||
(4) The ``query-hotpluggable-cpus`` command returns an object for CPUs
|
(4) The ``query-hotpluggable-cpus`` command returns an object for CPUs
|
||||||
that are present (containing a "qom-path" member) or which may be
|
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
|
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,
|
can see that ``IvyBridge-IBRS-x86_64-cpu`` is present in socket 0 core 0,
|
||||||
while hot-plugging a CPU into socket 1 requires passing the listed
|
while hot-plugging a CPU into socket 0 core 1 requires passing the listed
|
||||||
properties to QMP ``device_add``::
|
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",
|
"execute": "device_add",
|
||||||
"arguments": {
|
"arguments": {
|
||||||
"socket-id": 1,
|
"core-id": 1,
|
||||||
"driver": "IvyBridge-IBRS-x86_64-cpu",
|
"driver": "IvyBridge-IBRS-x86_64-cpu",
|
||||||
"id": "cpu-2",
|
"id": "cpu-2",
|
||||||
"core-id": 0,
|
"socket-id": 0,
|
||||||
"thread-id": 0
|
"thread-id": 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,34 +83,32 @@ vCPU hotplug
|
||||||
|
|
||||||
(QEMU) query-cpus-fast
|
(QEMU) query-cpus-fast
|
||||||
{
|
{
|
||||||
"execute": "query-cpus-fast",
|
|
||||||
"arguments": {}
|
"arguments": {}
|
||||||
|
"execute": "query-cpus-fast",
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"return": [
|
"return": [
|
||||||
{
|
{
|
||||||
"qom-path": "/machine/unattached/device[0]",
|
|
||||||
"target": "x86_64",
|
|
||||||
"thread-id": 11534,
|
|
||||||
"cpu-index": 0,
|
"cpu-index": 0,
|
||||||
"props": {
|
"props": {
|
||||||
"socket-id": 0,
|
|
||||||
"core-id": 0,
|
"core-id": 0,
|
||||||
|
"socket-id": 0,
|
||||||
"thread-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,
|
"cpu-index": 1,
|
||||||
"props": {
|
"props": {
|
||||||
"socket-id": 1,
|
"core-id": 1,
|
||||||
"core-id": 0,
|
"socket-id": 0,
|
||||||
"thread-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
|
(QEMU) device_del id=cpu-2
|
||||||
{
|
{
|
||||||
"execute": "device_del",
|
|
||||||
"arguments": {
|
"arguments": {
|
||||||
"id": "cpu-2"
|
"id": "cpu-2"
|
||||||
}
|
}
|
||||||
|
"execute": "device_del",
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"return": {}
|
"return": {}
|
||||||
|
|
Loading…
Reference in New Issue