Re: [bisected] "sched: Allow per-cpu kernel threads to run on online && !active" causes warning

From: Tejun Heo
Date: Mon Aug 15 2016 - 18:48:08 EST


Hello, Heiko.

On Mon, Aug 15, 2016 at 01:19:08PM +0200, Heiko Carstens wrote:
> I can imagine several ways to fix this for s390, but before doing that I'm
> wondering if the workqueue code is correct with
>
> a) assuming that the cpu_to_node() mapping is valid for all _possible_ cpus
> that early

This can be debatable and making it "first registration sticks" is
likely easy enough.

> and
>
> b) that the cpu_to_node() mapping does never change

However, this part isn't just from workqueue. It just hits in a more
obvious way. For example, memory allocation has the same problem and
we would have to synchronize memory allocations against cpu <-> node
mapping changing. It'd be silly to add the complexity and overhead of
making the mapping dynamic when that there's nothing inherently
dynamic about it. The surface area is pretty big here.

I have no idea how s390 fakenuma works. Is that very difficult from
x86's? IIRC, x86's fakenuma isn't all that dynamic.

Thanks.

--
tejun