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

From: Michael Holzheu
Date: Thu Aug 18 2016 - 05:31:05 EST


Am Wed, 17 Aug 2016 09:58:55 -0400
schrieb Tejun Heo <tj@xxxxxxxxxx>:

> Hello, Heiko.
>
> On Wed, Aug 17, 2016 at 12:19:53AM +0200, Heiko Carstens wrote:
> > I think the easiest solution would be to simply assign all cpus,
> > for which we do not have any topology information, to an arbitrary
> > node; e.g. round robin.
> >
> > After all the case that cpus are added later is rare and the s390
> > fake numa implementation does not know about the memory topology.
> > All it is doing is
>
> Ah, okay, so there really is no requirement for a newly coming up cpu
> to be on a specific node.

Well, "no requirement" this is not 100% correct. Currently we use the
CPU topology information to assign newly coming CPUs to the "best
fitting" node.

Example:

1) We have we two fake NUMA nodes N1 and N2 with the following CPU
assignment:

- N1: cpu 1 on chip 1
- N2: cpu 2 on chip 2

2) A new cpu 3 is configured that lives on chip 2
3) We assign cpu 3 to N2

We do this only if the nodes are balanced. If N2 had already one more
cpu than N1 we would assign the new cpu to N1.

Michael