sched,init: Fix DEBUG_PREEMPT vs early boot
authorPeter Zijlstra <peterz@infradead.org>
Mon, 31 May 2021 10:21:13 +0000 (12:21 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 1 Jun 2021 14:00:11 +0000 (16:00 +0200)
commit15faafc6b449777a85c0cf82dd8286c293fed4eb
treeaaa65f485e131cc6f4d46219a05d9c5050b99189
parent7b419f47facd286c6723daca6ad69ec355473f78
sched,init: Fix DEBUG_PREEMPT vs early boot

Extend 8fb12156b8db ("init: Pin init task to the boot CPU, initially")
to cover the new PF_NO_SETAFFINITY requirement.

While there, move wait_for_completion(&kthreadd_done) into kernel_init()
to make it absolutely clear it is the very first thing done by the init
thread.

Fixes: 570a752b7a9b ("lib/smp_processor_id: Use is_percpu_thread() instead of nr_cpus_allowed")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Borislav Petkov <bp@alien8.de>
Link: https://lkml.kernel.org/r/YLS4mbKUrA3Gnb4t@hirez.programming.kicks-ass.net
init/main.c
kernel/sched/core.c