WSL2-Linux-Kernel/init
Paul E. McKenney 00df35f991 cpu: Defer smpboot kthread unparking until CPU known to scheduler
Currently, smpboot_unpark_threads() is invoked before the incoming CPU
has been added to the scheduler's runqueue structures.  This might
potentially cause the unparked kthread to run on the wrong CPU, since the
correct CPU isn't fully set up yet.

That causes a sporadic, hard to debug boot crash triggering on some
systems, reported by Borislav Petkov, and bisected down to:

  2a442c9c64 ("x86: Use common outgoing-CPU-notification code")

This patch places smpboot_unpark_threads() in a CPU hotplug
notifier with priority set so that these kthreads are unparked just after
the CPU has been added to the runqueues.

Reported-and-tested-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-04-13 08:25:16 +02:00
..
Kconfig rcu: Add Kconfig option to expedite grace periods during boot 2015-02-26 12:03:03 -08:00
Makefile
calibrate.c
do_mounts.c init: fix read-write root mount 2014-12-17 08:27:14 -05:00
do_mounts.h
do_mounts_initrd.c
do_mounts_md.c
do_mounts_rd.c initramfs: support initramfs that is bigger than 2GiB 2014-08-08 15:57:26 -07:00
init_task.c
initramfs.c init/initramfs.c: resolve shadow warnings 2014-10-14 02:18:22 +02:00
main.c cpu: Defer smpboot kthread unparking until CPU known to scheduler 2015-04-13 08:25:16 +02:00
noinitramfs.c
version.c copy address of proc_ns_ops into ns_common 2014-12-04 14:34:47 -05:00