|
@@ -1435,14 +1435,13 @@ static struct smp_hotplug_thread rcu_cpu_thread_spec = {
|
|
|
};
|
|
|
|
|
|
/*
|
|
|
- * Spawn all kthreads -- called as soon as the scheduler is running.
|
|
|
+ * Spawn boost kthreads -- called as soon as the scheduler is running.
|
|
|
*/
|
|
|
-static int __init rcu_spawn_kthreads(void)
|
|
|
+static void __init rcu_spawn_boost_kthreads(void)
|
|
|
{
|
|
|
struct rcu_node *rnp;
|
|
|
int cpu;
|
|
|
|
|
|
- rcu_scheduler_fully_active = 1;
|
|
|
for_each_possible_cpu(cpu)
|
|
|
per_cpu(rcu_cpu_has_work, cpu) = 0;
|
|
|
BUG_ON(smpboot_register_percpu_thread(&rcu_cpu_thread_spec));
|
|
@@ -1452,9 +1451,7 @@ static int __init rcu_spawn_kthreads(void)
|
|
|
rcu_for_each_leaf_node(rcu_state_p, rnp)
|
|
|
(void)rcu_spawn_one_boost_kthread(rcu_state_p, rnp);
|
|
|
}
|
|
|
- return 0;
|
|
|
}
|
|
|
-early_initcall(rcu_spawn_kthreads);
|
|
|
|
|
|
static void rcu_prepare_kthreads(int cpu)
|
|
|
{
|
|
@@ -1492,12 +1489,9 @@ static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu)
|
|
|
{
|
|
|
}
|
|
|
|
|
|
-static int __init rcu_scheduler_really_started(void)
|
|
|
+static void __init rcu_spawn_boost_kthreads(void)
|
|
|
{
|
|
|
- rcu_scheduler_fully_active = 1;
|
|
|
- return 0;
|
|
|
}
|
|
|
-early_initcall(rcu_scheduler_really_started);
|
|
|
|
|
|
static void rcu_prepare_kthreads(int cpu)
|
|
|
{
|