s390/numa: move initial setup of node_to_cpumask_map
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 31 Jul 2018 14:14:18 +0000 (16:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Sep 2018 07:26:40 +0000 (09:26 +0200)
commit2ac8fbd174d76e23e29faf6020911cb69c8a154a
tree642130d31d65764c83a62dc5e6747618bea26954
parent97e3dcc08e4ee3b2edd93514479f98b7e79ac056
s390/numa: move initial setup of node_to_cpumask_map

commit fb7d7518b0d65955f91c7b875c36eae7694c69bd upstream.

The numa_init_early initcall sets the node_to_cpumask_map[0] to the
full cpu_possible_mask. Unfortunately this early_initcall is too late,
the NUMA setup for numa=emu is done even earlier. The order of calls
is numa_setup() -> emu_update_cpu_topology(), then the early_initcalls(),
followed by sched_init_domains().

Starting with git commit 051f3ca02e46432c0965e8948f00c07d8a2f09c0
"sched/topology: Introduce NUMA identity node sched domain"
the incorrect node_to_cpumask_map[0] really screws up the domain
setup and the kernel panics with the follow oops:

Cc: <stable@vger.kernel.org> # v4.15+
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/numa/numa.c