x86: Use common outgoing-CPU-notification code
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 25 Feb 2015 19:42:15 +0000 (11:42 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 11 Mar 2015 20:22:35 +0000 (13:22 -0700)
commit2a442c9c6453d3d043dfd89f2e03a1deff8a6f06
treee1aaab3098d09603152104254acf709e71874d94
parent8038dad7e888581266c76df15d70ca457a3c5910
x86: Use common outgoing-CPU-notification code

This commit removes the open-coded CPU-offline notification with new
common code.  Among other things, this change avoids calling scheduler
code using RCU from an offline CPU that RCU is ignoring.  It also allows
Xen to notice at online time that the CPU did not go offline correctly.
Note that Xen has the surviving CPU carry out some cleanup operations,
so if the surviving CPU times out, these cleanup operations might have
been carried out while the outgoing CPU was still running.  It might
therefore be unwise to bring this CPU back online, and this commit
avoids doing so.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: <x86@kernel.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: <xen-devel@lists.xenproject.org>
arch/x86/include/asm/cpu.h
arch/x86/include/asm/smp.h
arch/x86/kernel/smpboot.c
arch/x86/xen/smp.c