[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
[Qemu-devel] [PATCH 4/7] spapr: Split memory nodes to power-of-two blocks, Alexey Kardashevskiy, 2014/06/16
[Qemu-devel] [PATCH 1/7] spapr: Move DT memory node rendering to a helper, Alexey Kardashevskiy, 2014/06/16
[Qemu-devel] [PATCH 3/7] spapr: Refactor spapr_populate_memory(), Alexey Kardashevskiy, 2014/06/16