On Mon, 19 Aug 2024 at 15:43, Peter Maydell <peter.mayd...@linaro.org> wrote: > > At some point the way we allocate socket-id and core-id to CPUs > by default changed; update the example of how to do CPU hotplug > and unplug so the example commands work again. The differences > in the sample input and output are: > * the second CPU is now socket-id=0 core-id=1, > not socket-id=1 core-id=0 > * the order of fields from the qmp_shell is different (it seems > to now always be in alphabetical order) > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > I noticed this while I was playing around with vcpu hotplug trying to > demonstrate a memory leak I want to fix...
Ping for review on this one, please? thanks -- PMM > > docs/system/cpu-hotplug.rst | 54 ++++++++++++++++++------------------- > 1 file changed, 26 insertions(+), 28 deletions(-) > > diff --git a/docs/system/cpu-hotplug.rst b/docs/system/cpu-hotplug.rst > index 015ce2b6ec3..443ff226b90 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 > { > "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 >