| From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
| Date: Wed, 10 Feb 2016 18:30:56 +0100 |
| Subject: rcu: disable more spots of rcu_bh |
| |
| We don't use ru_bh on -RT but we still fork a thread for it and keep it |
| as a flavour. No more. |
| |
| Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
| --- |
| kernel/rcu/tree.c | 6 ++++++ |
| kernel/rcu/tree.h | 2 ++ |
| 2 files changed, 8 insertions(+) |
| |
| --- a/kernel/rcu/tree.c |
| +++ b/kernel/rcu/tree.c |
| @@ -440,11 +440,13 @@ EXPORT_SYMBOL_GPL(rcu_batches_started_sc |
| /* |
| * Return the number of RCU BH batches started thus far for debug & stats. |
| */ |
| +#ifndef CONFIG_PREEMPT_RT_FULL |
| unsigned long rcu_batches_started_bh(void) |
| { |
| return rcu_bh_state.gpnum; |
| } |
| EXPORT_SYMBOL_GPL(rcu_batches_started_bh); |
| +#endif |
| |
| /* |
| * Return the number of RCU batches completed thus far for debug & stats. |
| @@ -549,9 +551,11 @@ void rcutorture_get_gp_data(enum rcutort |
| case RCU_FLAVOR: |
| rsp = rcu_state_p; |
| break; |
| +#ifndef CONFIG_PREEMPT_RT_FULL |
| case RCU_BH_FLAVOR: |
| rsp = &rcu_bh_state; |
| break; |
| +#endif |
| case RCU_SCHED_FLAVOR: |
| rsp = &rcu_sched_state; |
| break; |
| @@ -4637,7 +4641,9 @@ void __init rcu_init(void) |
| |
| rcu_bootup_announce(); |
| rcu_init_geometry(); |
| +#ifndef CONFIG_PREEMPT_RT_FULL |
| rcu_init_one(&rcu_bh_state); |
| +#endif |
| rcu_init_one(&rcu_sched_state); |
| if (dump_tree) |
| rcu_dump_rcu_node_tree(&rcu_sched_state); |
| --- a/kernel/rcu/tree.h |
| +++ b/kernel/rcu/tree.h |
| @@ -572,7 +572,9 @@ extern struct list_head rcu_struct_flavo |
| */ |
| extern struct rcu_state rcu_sched_state; |
| |
| +#ifndef CONFIG_PREEMPT_RT_FULL |
| extern struct rcu_state rcu_bh_state; |
| +#endif |
| |
| #ifdef CONFIG_PREEMPT_RCU |
| extern struct rcu_state rcu_preempt_state; |