aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2012-02-14 16:01:10 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2012-02-14 16:01:10 +1100
commitc71e3f0a62f1c8aceb770f510431980ed223e228 (patch)
treee2ea1215e2c44da3bf784420c36cc58cda72be44
parent98becc380449f883d95f35335a45bcb33286426b (diff)
Revert "smp: start up non-boot CPUs asynchronously"
This reverts commit db65f639798d861bd91fea45a32f6c37f443a626.
-rw-r--r--kernel/smp.c21
1 files changed, 1 insertions, 20 deletions
diff --git a/kernel/smp.c b/kernel/smp.c
index 4853e2a09aa..28cbcc5e2fa 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -12,8 +12,6 @@
#include <linux/gfp.h>
#include <linux/smp.h>
#include <linux/cpu.h>
-#include <linux/async.h>
-#include <linux/delay.h>
#ifdef CONFIG_USE_GENERIC_SMP_HELPERS
static struct {
@@ -666,34 +664,17 @@ void __init setup_nr_cpu_ids(void)
nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1;
}
-void __init async_cpu_up(void *data, async_cookie_t cookie)
-{
- unsigned long nr = (unsigned long) data;
- /*
- * we can only up one cpu at a time, as enforced by the hotplug
- * lock; it's better to wait for all earlier CPUs to be done before
- * we bring up ours, so that the bring up order is predictable.
- */
- async_synchronize_cookie(cookie);
- cpu_up(nr);
-}
-
/* Called by boot processor to activate the rest. */
void __init smp_init(void)
{
unsigned int cpu;
/* FIXME: This should be done in userspace --RR */
-
- /*
- * But until we do this in userspace, we're going to do this
- * in parallel to the rest of the kernel boot up.-- Arjan
- */
for_each_present_cpu(cpu) {
if (num_online_cpus() >= setup_max_cpus)
break;
if (!cpu_online(cpu))
- async_schedule(async_cpu_up, (void *) cpu);
+ cpu_up(cpu);
}
/* Any cleanup work */