Re: [PATCH v9 0/7] Make cpuid <-> nodeid mapping persistent

From: Tejun Heo
Date: Mon Jul 25 2016 - 20:11:59 EST


Hello, Andrew.

On Mon, Jul 25, 2016 at 04:20:22PM -0700, Andrew Morton wrote:
> > When a pool workqueue is initialized, if its cpumask belongs to a node, its
> > pool->node will be mapped to that node. And memory used by this workqueue will
> > also be allocated on that node.
>
> Plan B is to hunt down and fix up all the workqueue structures at
> hotplug-time. Has that option been evaluated?
>
> Your fix is x86-only and this bug presumably affects other
> architectures, yes? I think a "Plan B" would fix all architectures?

Yeah, that was one of the early approaches. The issue isn't limited
to wq. Any memory allocation can have similar issues of underlying
node association changing and we don't have any synchronization
mechanism around it. It doesn't make any sense to make NUMA
association dynamic when the consumer surface is vastly larger and
there's nothing inherently dynamic about the association itself.

Thanks.

--
tejun