s390/smp: call smp_reinit_ipl_cpu() before scheduler is available
authorAlexander Gordeev <agordeev@linux.ibm.com>
Thu, 1 Sep 2022 08:33:51 +0000 (10:33 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Wed, 14 Sep 2022 14:46:00 +0000 (16:46 +0200)
commit6cbd7cc2ebbe074522246f50628cbae34915bb95
tree4c239c2f1e68c783d7780a275b8a41777261bcfc
parentd61bb30e434db7df2a5f1ad5d773ed3a876dee03
s390/smp: call smp_reinit_ipl_cpu() before scheduler is available

Currently smp_reinit_ipl_cpu() is a pre-SMP early initcall.
That ensures no CPU is running in parallel, but still not
enough to assume the code is exclusive, since the scheduling
is already available.

Move the function call to arch_call_rest_init() callback
to ensure no thread could be preempted and allow lockless
allocation of the kernel page tables. That is needed to
allow a follow-up rework of the absolute lowcore access
mechanism.

Suggested-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/smp.h
arch/s390/kernel/setup.c
arch/s390/kernel/smp.c