android_kernel_google_msm/init
Paul E. McKenney b7703ca834 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:

  2a442c9c6453 ("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.

Change-Id: I8921987de9c2a2f475cc63dc82662d6ebf6e8725
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>
Git-commit: 00df35f991914db6b8bde8cf09808e19a9cffc3d
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
2016-10-29 23:12:40 +08:00
..
calibrate.c init: check printed flag to skip printing message 2012-03-23 16:58:38 -07:00
do_mounts.c init: don't try mounting device as nfs root unless type fully matches 2012-05-05 10:04:40 -07:00
do_mounts.h
do_mounts_initrd.c get rid of pointless includes of ext2_fs.h 2012-03-31 16:03:15 -04:00
do_mounts_md.c init: mark __user address space on string literals 2010-10-26 16:52:15 -07:00
do_mounts_rd.c new helper: ext2_image_size() 2012-03-31 16:03:16 -04:00
initramfs.c init/initramfs.c: should use umode_t 2012-01-03 22:55:14 -05:00
Kconfig Merge branch 'goog/googly' (early part) into goog/msm-soc-3.4 2013-02-25 11:25:46 -08:00
main.c cpu: Defer smpboot kthread unparking until CPU known to scheduler 2016-10-29 23:12:40 +08:00
Makefile
noinitramfs.c init: mark __user address space on string literals 2010-10-26 16:52:15 -07:00
version.c proc: Usable inode numbers for the namespace file descriptors. 2015-07-13 11:18:01 -07:00