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