diff mbox series

[v4] numa: improve cpu hotplug error message with a wrong node-id

Message ID 20190529160747.778-1-lvivier@redhat.com
State New
Headers show
Series [v4] numa: improve cpu hotplug error message with a wrong node-id | expand

Commit Message

Laurent Vivier May 29, 2019, 4:07 p.m. UTC
On pseries, core-ids are strongly binded to a node-id by the command
line option. If an user tries to add a CPU to the wrong node, he has
an error but it is not really helpful:

  qemu-system-ppc64 ... -smp 1,maxcpus=64,cores=1,threads=1,sockets=1 \
                        -numa node,nodeid=0 -numa node,nodeid=1 ...

  (qemu) device_add power9_v2.0-spapr-cpu-core,core-id=30,node-id=1
  Error: node-id=1 must match numa node specified with -numa option

This patch improves this error message by giving to the user the good
node-id to use with the core-id he's providing

  Error: invalid node-id, must be 0

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
---

Notes:
    v4: simplify the message
    
    v3: only add the topology to the existing message
        As suggested by Igor replace
          Error: core-id 30 can only be plugged into node-id 0
        by
          Error: node-id=1 must match numa node specified with -numa option 'node-id 0'
    
    v2: display full topology in the error message

 numa.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Igor Mammedov May 30, 2019, 9 a.m. UTC | #1
On Wed, 29 May 2019 18:07:47 +0200
Laurent Vivier <lvivier@redhat.com> wrote:

> On pseries, core-ids are strongly binded to a node-id by the command
> line option. If an user tries to add a CPU to the wrong node, he has
> an error but it is not really helpful:
> 
>   qemu-system-ppc64 ... -smp 1,maxcpus=64,cores=1,threads=1,sockets=1 \
>                         -numa node,nodeid=0 -numa node,nodeid=1 ...
> 
>   (qemu) device_add power9_v2.0-spapr-cpu-core,core-id=30,node-id=1
>   Error: node-id=1 must match numa node specified with -numa option
> 
> This patch improves this error message by giving to the user the good
> node-id to use with the core-id he's providing
> 
>   Error: invalid node-id, must be 0
> 
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
> 
> Notes:
>     v4: simplify the message
>     
>     v3: only add the topology to the existing message
>         As suggested by Igor replace
>           Error: core-id 30 can only be plugged into node-id 0
>         by
>           Error: node-id=1 must match numa node specified with -numa option 'node-id 0'
>     
>     v2: display full topology in the error message
> 
>  numa.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/numa.c b/numa.c
> index 3875e1efda3a..955ec0c830db 100644
> --- a/numa.c
> +++ b/numa.c
> @@ -470,8 +470,8 @@ void numa_cpu_pre_plug(const CPUArchId *slot, DeviceState *dev, Error **errp)
>                                      "node-id", errp);
>          }
>      } else if (node_id != slot->props.node_id) {
> -        error_setg(errp, "node-id=%d must match numa node specified "
> -                   "with -numa option", node_id);
> +        error_setg(errp, "invalid node-id, must be %"PRId64,
> +                   slot->props.node_id);
>      }
>  }
>
Eduardo Habkost May 31, 2019, 7:49 p.m. UTC | #2
On Wed, May 29, 2019 at 06:07:47PM +0200, Laurent Vivier wrote:
> On pseries, core-ids are strongly binded to a node-id by the command
> line option. If an user tries to add a CPU to the wrong node, he has
> an error but it is not really helpful:
> 
>   qemu-system-ppc64 ... -smp 1,maxcpus=64,cores=1,threads=1,sockets=1 \
>                         -numa node,nodeid=0 -numa node,nodeid=1 ...
> 
>   (qemu) device_add power9_v2.0-spapr-cpu-core,core-id=30,node-id=1
>   Error: node-id=1 must match numa node specified with -numa option
> 
> This patch improves this error message by giving to the user the good
> node-id to use with the core-id he's providing
> 
>   Error: invalid node-id, must be 0
> 
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>

Queued, thanks.
diff mbox series

Patch

diff --git a/numa.c b/numa.c
index 3875e1efda3a..955ec0c830db 100644
--- a/numa.c
+++ b/numa.c
@@ -470,8 +470,8 @@  void numa_cpu_pre_plug(const CPUArchId *slot, DeviceState *dev, Error **errp)
                                     "node-id", errp);
         }
     } else if (node_id != slot->props.node_id) {
-        error_setg(errp, "node-id=%d must match numa node specified "
-                   "with -numa option", node_id);
+        error_setg(errp, "invalid node-id, must be %"PRId64,
+                   slot->props.node_id);
     }
 }