qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] docs/system/cpu-hotplug: Update example's socket-id/core-id


From: Peter Maydell
Subject: Re: [PATCH] docs/system/cpu-hotplug: Update example's socket-id/core-id
Date: Fri, 6 Sep 2024 16:13:40 +0100

On Mon, 19 Aug 2024 at 15:43, Peter Maydell <peter.maydell@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.maydell@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
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]