[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 7/7] numa: cpu: calculate/set default node-id
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v4 7/7] numa: cpu: calculate/set default node-ids after all -numa CLI options are parsed |
Date: |
Fri, 2 Jun 2017 14:16:36 -0300 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Thu, Jun 01, 2017 at 12:53:28PM +0200, Igor Mammedov wrote:
> Calculating default node-ids for CPUs in possible_cpu_arch_ids()
> is rather fragile since defaults calculation uses nb_numa_nodes but
> callback might be potentially called early before all -numa CLI
> options are parsed, which would lead to cpus assigned only upto
> nb_numa_nodes at the time possible_cpu_arch_ids() is called.
>
> Issue was introduced by
> (7c88e65 numa: mirror cpu to node mapping in MachineState::possible_cpus)
> and for example CLI:
> -smp 4 -numa node,cpus=0 -numa node
> would set props.node-id in possible_cpus array for every non
> explicitly mapped CPU to the first node.
>
> Issue is not visible to guest nor to mgmt interface due to
> 1) implictly mapped cpus are forced to the first node in
> case of partial mapping
> 2) in case of default mapping possible_cpu_arch_ids() is
> called after all -numa options are parsed (resulting
> in correct mapping).
>
> However it's fragile to rely on late execution of
> possible_cpu_arch_ids(), therefore add machine specific
> callback that returns node-id for CPU and use it to calculate/
> set defaults at machine_numa_finish_init() time when all -numa
> options are parsed.
>
> Reported-by: Eduardo Habkost <address@hidden>
> Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Queued on numa-next. Thanks!
--
Eduardo