|
@@ -84,6 +84,7 @@ extern long rcu_batches_completed_sched(void);
|
|
static void cpu_quiet_msk(unsigned long mask, struct rcu_state *rsp,
|
|
static void cpu_quiet_msk(unsigned long mask, struct rcu_state *rsp,
|
|
struct rcu_node *rnp, unsigned long flags);
|
|
struct rcu_node *rnp, unsigned long flags);
|
|
static void cpu_quiet_msk_finish(struct rcu_state *rsp, unsigned long flags);
|
|
static void cpu_quiet_msk_finish(struct rcu_state *rsp, unsigned long flags);
|
|
|
|
+static void __rcu_offline_cpu(int cpu, struct rcu_state *rsp);
|
|
static void __rcu_process_callbacks(struct rcu_state *rsp,
|
|
static void __rcu_process_callbacks(struct rcu_state *rsp,
|
|
struct rcu_data *rdp);
|
|
struct rcu_data *rdp);
|
|
static void __call_rcu(struct rcu_head *head,
|
|
static void __call_rcu(struct rcu_head *head,
|
|
@@ -920,6 +921,7 @@ static void rcu_offline_cpu(int cpu)
|
|
{
|
|
{
|
|
__rcu_offline_cpu(cpu, &rcu_sched_state);
|
|
__rcu_offline_cpu(cpu, &rcu_sched_state);
|
|
__rcu_offline_cpu(cpu, &rcu_bh_state);
|
|
__rcu_offline_cpu(cpu, &rcu_bh_state);
|
|
|
|
+ rcu_preempt_offline_cpu(cpu);
|
|
}
|
|
}
|
|
|
|
|
|
#else /* #ifdef CONFIG_HOTPLUG_CPU */
|
|
#else /* #ifdef CONFIG_HOTPLUG_CPU */
|