65 lines
1.7 KiB
Diff
65 lines
1.7 KiB
Diff
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
Date: Wed, 10 Feb 2016 18:30:56 +0100
|
|
Subject: rcu: disable more spots of rcu_bh
|
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.6/older/patches-4.6.2-rt5.tar.xz
|
|
|
|
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;
|