diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2016-02-10 18:30:56 +0100 |
---|---|---|
committer | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2016-02-13 00:36:10 +0100 |
commit | 01bec15ea995062afc737e392645fcd945d94d94 (patch) | |
tree | c700974e289b23352ef056478ff78f9ed29dcdae | |
parent | 9fb86a49361eda6ed615a8506ba4eb597297e224 (diff) | |
download | rt-linux-01bec15ea995062afc737e392645fcd945d94d94.tar.gz |
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>
-rw-r--r-- | kernel/rcu/tree.c | 6 | ||||
-rw-r--r-- | kernel/rcu/tree.h | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 136eb953314879..3dc4db85c10b52 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -449,11 +449,13 @@ EXPORT_SYMBOL_GPL(rcu_batches_started_sched); /* * 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. @@ -558,9 +560,11 @@ void rcutorture_get_gp_data(enum rcutorture_type test_type, int *flags, 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; @@ -4604,7 +4608,9 @@ void __init rcu_init(void) rcu_bootup_announce(); rcu_init_geometry(); +#ifndef CONFIG_PREEMPT_RT_FULL rcu_init_one(&rcu_bh_state, &rcu_bh_data); +#endif rcu_init_one(&rcu_sched_state, &rcu_sched_data); if (dump_tree) rcu_dump_rcu_node_tree(&rcu_sched_state); diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h index 9fb4e238d4dcaa..a27e081354ffc0 100644 --- a/kernel/rcu/tree.h +++ b/kernel/rcu/tree.h @@ -556,7 +556,9 @@ extern struct list_head rcu_struct_flavors; */ 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; |