diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2012-01-07 14:03:57 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2012-02-21 12:03:34 -0500 |
commit | e5601400081651060a59bd1f45f2821bb8e97f95 (patch) | |
tree | 391e7e0b08d8b642eca260950c7f052832411aa9 /kernel/rcutree.h | |
parent | ae1f18e480c83d15539fb234a2dc5f0aa04cb119 (diff) |
rcu: Simplify offline processing
Move ->qsmaskinit and blkd_tasks[] manipulation to the CPU_DYING
notifier. This simplifies the code by eliminating a potential
deadlock and by reducing the responsibilities of force_quiescent_state().
Also rename functions to make their connection to the CPU-hotplug
stages explicit.
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcutree.h')
-rw-r--r-- | kernel/rcutree.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/rcutree.h b/kernel/rcutree.h index af2af3cc5e65..05e03675439a 100644 --- a/kernel/rcutree.h +++ b/kernel/rcutree.h | |||
@@ -439,8 +439,8 @@ static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp); | |||
439 | static int rcu_preempt_offline_tasks(struct rcu_state *rsp, | 439 | static int rcu_preempt_offline_tasks(struct rcu_state *rsp, |
440 | struct rcu_node *rnp, | 440 | struct rcu_node *rnp, |
441 | struct rcu_data *rdp); | 441 | struct rcu_data *rdp); |
442 | static void rcu_preempt_offline_cpu(int cpu); | ||
443 | #endif /* #ifdef CONFIG_HOTPLUG_CPU */ | 442 | #endif /* #ifdef CONFIG_HOTPLUG_CPU */ |
443 | static void rcu_preempt_cleanup_dead_cpu(int cpu); | ||
444 | static void rcu_preempt_check_callbacks(int cpu); | 444 | static void rcu_preempt_check_callbacks(int cpu); |
445 | static void rcu_preempt_process_callbacks(void); | 445 | static void rcu_preempt_process_callbacks(void); |
446 | void call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu)); | 446 | void call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu)); |
@@ -451,7 +451,7 @@ static void rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp, | |||
451 | static int rcu_preempt_pending(int cpu); | 451 | static int rcu_preempt_pending(int cpu); |
452 | static int rcu_preempt_needs_cpu(int cpu); | 452 | static int rcu_preempt_needs_cpu(int cpu); |
453 | static void __cpuinit rcu_preempt_init_percpu_data(int cpu); | 453 | static void __cpuinit rcu_preempt_init_percpu_data(int cpu); |
454 | static void rcu_preempt_send_cbs_to_online(void); | 454 | static void rcu_preempt_cleanup_dying_cpu(void); |
455 | static void __init __rcu_init_preempt(void); | 455 | static void __init __rcu_init_preempt(void); |
456 | static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags); | 456 | static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags); |
457 | static void rcu_preempt_boost_start_gp(struct rcu_node *rnp); | 457 | static void rcu_preempt_boost_start_gp(struct rcu_node *rnp); |