qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 7/7] numa: Allow empty nodes


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH 7/7] numa: Allow empty nodes
Date: Mon, 16 Jun 2014 13:15:00 -0300
User-agent: Mutt/1.5.23 (2014-03-12)

On Mon, Jun 16, 2014 at 05:53:53PM +1000, Alexey Kardashevskiy wrote:
> Currently NUMA nodes must go consequently and QEMU ignores nodes
> with @nodeid bigger than the number of NUMA nodes in the command line.

Why would somebody need a NUMA node with nodeid bigger than the number
of NUMA nodes? NUMA node IDs must be in the [0, numa_nodes-1] range.

> This prevents us from creating memory-less nodes which is possible
> situation in POWERPC under pHyp or Sapphire.

Why? If I recall correctly, nodes without any CPUs or any memory are
already allowed.

How exactly would this patch help you? How do you expect the
command-line to look like for your use case?

> 
> This makes nb_numa_nodes a total number of nodes or the biggest node
> number + 1 whichever is greater.
> 
> Signed-off-by: Alexey Kardashevskiy <address@hidden>
> ---
>  vl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/vl.c b/vl.c
> index ac0e3d7..f1b75cb 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1356,7 +1356,7 @@ static void numa_add(const char *optarg)
>          if (get_param_value(option, 128, "cpus", optarg) != 0) {
>              numa_node_parse_cpus(nodenr, option);
>          }
> -        nb_numa_nodes++;
> +        nb_numa_nodes = MAX(nb_numa_nodes + 1, nodenr + 1);

I would instead suggest that if any node in the [0, max_node_id] range
is not present on the command-line, QEMU should instead reject the
command-line.

>      } else {
>          fprintf(stderr, "Invalid -numa option: %s\n", option);
>          exit(1);
> -- 
> 2.0.0
> 

-- 
Eduardo



reply via email to

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