On Tue, 10 Sept 2024 at 10:03, Igor Mammedov <imamm...@redhat.com> wrote: > > On Mon, 19 Aug 2024 15:43:03 +0100 > 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... > > > > 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 > > after above changes device_add doesn't match comment nor 'execute' output
Oops, yes. The device_add line should be changed too ("socket-id=0 core-id=1 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 > > } > > beside reordering, which seems fine, this hunk also introduces target change > perhaps a separate patch for that? What target change? It all says "target": "x86_64" both before and after. thanks -- PMM