Re: [PATCH v7 0/5] Make cpuid <-> nodeid mapping persistent

From: Zhu Guihua
Date: Mon May 23 2016 - 03:03:16 EST


Hi,

On 05/19/2016 10:46 PM, Peter Zijlstra wrote:
On Thu, May 19, 2016 at 06:39:41PM +0800, Zhu Guihua wrote:
[Problem]

cpuid <-> nodeid mapping is firstly established at boot time. And workqueue caches
the mapping in wq_numa_possible_cpumask in wq_numa_init() at boot time.

When doing node online/offline, cpuid <-> nodeid mapping is established/destroyed,
which means, cpuid <-> nodeid mapping will change if node hotplug happens. But
workqueue does not update wq_numa_possible_cpumask.
So why are you not fixing up wq_numa_possible_cpumask instead? That
seems the far easier solution.

We tried to do that. You can see our patch at
http://www.gossamer-threads.com/lists/linux/kernel/2116748

But maintainer thought, we should establish persistent cpuid<->nodeid relationship,
there is no need to change the map.

Cc TJ,
Could we return to workqueue to fix this?

Thanks,
Zhu

Do all the other archs that support NUMA and HOTPLUG have the mapping
stable, or will you now go fix each and every one of them?


.