[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v2 09/24] numa: add check that board supports cpu_
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH v2 09/24] numa: add check that board supports cpu_index to node mapping |
Date: |
Fri, 5 May 2017 02:51:09 +1000 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Wed, May 03, 2017 at 02:57:03PM +0200, Igor Mammedov wrote:
> Default node mapping initialization already checks that board
> supports cpu_index to node mapping and refuses to start if
> it's not supported. Do the same for explicitly provided
> mapping "-numa node,cpus=..."
>
> Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Makes sense in the series at present, although it might be obsoleted
by other suggested changes.
> ---
> numa.c | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/numa.c b/numa.c
> index ab1661d..b517870 100644
> --- a/numa.c
> +++ b/numa.c
> @@ -140,10 +140,12 @@ uint32_t numa_get_node(ram_addr_t addr, Error **errp)
> return -1;
> }
>
> -static void numa_node_parse(NumaNodeOptions *node, QemuOpts *opts, Error
> **errp)
> +static void numa_node_parse(MachineState *ms, NumaNodeOptions *node,
> + QemuOpts *opts, Error **errp)
> {
> uint16_t nodenr;
> uint16List *cpus = NULL;
> + MachineClass *mc = MACHINE_GET_CLASS(ms);
>
> if (node->has_nodeid) {
> nodenr = node->nodeid;
> @@ -162,6 +164,10 @@ static void numa_node_parse(NumaNodeOptions *node,
> QemuOpts *opts, Error **errp)
> return;
> }
>
> + if (!mc->cpu_index_to_instance_props) {
> + error_report("CPUs to NUMA node mapping isn't supported");
> + exit(1);
> + }
> for (cpus = node->cpus; cpus; cpus = cpus->next) {
> if (cpus->value >= max_cpus) {
> error_setg(errp,
> @@ -215,6 +221,7 @@ static void numa_node_parse(NumaNodeOptions *node,
> QemuOpts *opts, Error **errp)
> static int parse_numa(void *opaque, QemuOpts *opts, Error **errp)
> {
> NumaOptions *object = NULL;
> + MachineState *ms = opaque;
> Error *err = NULL;
>
> {
> @@ -229,7 +236,7 @@ static int parse_numa(void *opaque, QemuOpts *opts, Error
> **errp)
>
> switch (object->type) {
> case NUMA_OPTIONS_TYPE_NODE:
> - numa_node_parse(&object->u.node, opts, &err);
> + numa_node_parse(ms, &object->u.node, opts, &err);
> if (err) {
> goto end;
> }
> @@ -303,7 +310,7 @@ void parse_numa_opts(MachineState *ms)
> numa_info[i].node_cpu = bitmap_new(max_cpus);
> }
>
> - if (qemu_opts_foreach(qemu_find_opts("numa"), parse_numa, NULL, NULL)) {
> + if (qemu_opts_foreach(qemu_find_opts("numa"), parse_numa, ms, NULL)) {
> exit(1);
> }
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- Re: [Qemu-ppc] [PATCH v2 06/24] spapr: add node-id property to sPAPR core, (continued)
[Qemu-ppc] [PATCH v2 09/24] numa: add check that board supports cpu_index to node mapping, Igor Mammedov, 2017/05/03
Re: [Qemu-ppc] [PATCH v2 09/24] numa: add check that board supports cpu_index to node mapping, Andrew Jones, 2017/05/04
Re: [Qemu-ppc] [PATCH v2 09/24] numa: add check that board supports cpu_index to node mapping,
David Gibson <=
[Qemu-ppc] [PATCH v2 10/24] numa: mirror cpu to node mapping in MachineState::possible_cpus, Igor Mammedov, 2017/05/03
Re: [Qemu-ppc] [PATCH v2 10/24] numa: mirror cpu to node mapping in MachineState::possible_cpus, Andrew Jones, 2017/05/04