[PATCH] s390: set NODES_SHIFT=0 when NUMA=n

Qian Cai
2020-06-10T01:45:17Z

When NUMA=n and nr_node_ids=2, in apply_wqattrs_prepare(), it has,

for_each_node(node) {
if (wq_calc_node_cpumask(...

where it will trigger a booting warning,

WARNING: workqueue cpumask: online intersect > possible intersect

because it found 2 nodes and wq_numa_possible_cpumask[1] is an empty
cpumask. NUMA=y has no such problem because node_possible_map will be
initialized properly containing only node 0. Fix it by setting
NODES_SHIFT=0 when NUMA=n.

Fixes: 701dc81e7412 ("s390/mm: remove fake numa support")
Signed-off-by: Qian Cai <cai@lca.pw>
---
arch/s390/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index f854faff38c3..59625356d18a 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -462,7 +462,8 @@ config NUMA

config NODES_SHIFT
int
- default "1"
+ default "1" if NUMA
+ default "0"

config SCHED_SMT
def_bool n
--
2.21.0 (Apple Git-122.2)