diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2012-04-20 13:05:44 +0000 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2012-04-26 12:06:09 +0200 | 
| commit | 38498a67aa2cf8c80754b8d304bfacc10bc582b5 (patch) | |
| tree | 5d1d5ff7fd9b847454f9d5053ad0709ffb3cc32c /kernel/cpu.c | |
| parent | 8239c25f47d2b318156993b15f33900a86ea5e17 (diff) | |
| download | olio-linux-3.10-38498a67aa2cf8c80754b8d304bfacc10bc582b5.tar.xz olio-linux-3.10-38498a67aa2cf8c80754b8d304bfacc10bc582b5.zip  | |
smp: Add generic smpboot facility
Start a new file, which will hold SMP and CPU hotplug related generic
infrastructure.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Richard Kuo <rkuo@codeaurora.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: David Howells <dhowells@redhat.com>
Cc: James E.J. Bottomley <jejb@parisc-linux.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: x86@kernel.org
Link: http://lkml.kernel.org/r/20120420124557.035417523@linutronix.de
Diffstat (limited to 'kernel/cpu.c')
| -rw-r--r-- | kernel/cpu.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c index e711aef0fb3..e58b99ada3d 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -17,6 +17,8 @@  #include <linux/gfp.h>  #include <linux/suspend.h> +#include "smpboot.h" +  #ifdef CONFIG_SMP  /* Serializes the updates to cpu_online_mask, cpu_present_mask */  static DEFINE_MUTEX(cpu_add_remove_lock); @@ -300,6 +302,11 @@ static int __cpuinit _cpu_up(unsigned int cpu, int tasks_frozen)  		return -EINVAL;  	cpu_hotplug_begin(); + +	ret = smpboot_prepare(cpu); +	if (ret) +		goto out; +  	ret = __cpu_notify(CPU_UP_PREPARE | mod, hcpu, -1, &nr_calls);  	if (ret) {  		nr_calls--; @@ -320,6 +327,7 @@ static int __cpuinit _cpu_up(unsigned int cpu, int tasks_frozen)  out_notify:  	if (ret != 0)  		__cpu_notify(CPU_UP_CANCELED | mod, hcpu, nr_calls, NULL); +out:  	cpu_hotplug_done();  	return ret;  |