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

From: Peter Zijlstra
Date: Tue Aug 16 2016 - 11:30:10 EST


On Tue, Aug 16, 2016 at 11:20:27AM -0400, Tejun Heo wrote:
> As long as the mapping doesn't change after the first onlining of the
> CPU, the workqueue side shouldn't be too difficult to fix up. I'll
> look into it. For memory allocations, as long as the cpu <-> node
> mapping is established before any memory allocation for the cpu takes
> place, it should be fine too, I think.

Don't we allocate per-cpu memory for 'cpu_possible_map' on boot? There's
a whole bunch of per-cpu memory users that does things like:


for_each_possible_cpu(cpu) {
struct foo *foo = per_cpu_ptr(&per_cpu_var, cpu);

/* muck with foo */
}


Which requires a cpu->node map for all possible cpus at boot time.