diff options
Diffstat (limited to 'debian/patches-rt/0073-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch')
-rw-r--r-- | debian/patches-rt/0073-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/debian/patches-rt/0073-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch b/debian/patches-rt/0073-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch deleted file mode 100644 index 3dedf2bd5..000000000 --- a/debian/patches-rt/0073-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 44106456999845a5375059b6494a38be7d1f8ff0 Mon Sep 17 00:00:00 2001 -From: Scott Wood <swood@redhat.com> -Date: Tue, 15 Dec 2020 15:16:46 +0100 -Subject: [PATCH 073/296] rcu: Unconditionally use rcuc threads on PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.35-rt39.tar.xz - -PREEMPT_RT systems have long used the rcutree.use_softirq kernel -boot parameter to avoid use of RCU_SOFTIRQ handlers, which can disrupt -real-time applications by invoking callbacks during return from interrupts -that arrived while executing time-critical code. This kernel boot -parameter instead runs RCU core processing in an 'rcuc' kthread, thus -allowing the scheduler to do its job of avoiding disrupting time-critical -code. - -This commit therefore disables the rcutree.use_softirq kernel boot -parameter on PREEMPT_RT systems, thus forcing such systems to do RCU -core processing in 'rcuc' kthreads. This approach has long been in -use by users of the -rt patchset, and there have been no complaints. -There is therefore no way for the system administrator to override this -choice, at least without modifying and rebuilding the kernel. - -Signed-off-by: Scott Wood <swood@redhat.com> -[bigeasy: Reword commit message] -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> -[ paulmck: Update kernel-parameters.txt accordingly. ] -Signed-off-by: Paul E. McKenney <paulmck@kernel.org> -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> ---- - Documentation/admin-guide/kernel-parameters.txt | 4 ++++ - kernel/rcu/tree.c | 4 +++- - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 26bfe7ae711b..32cd79a3c3e7 100644 ---- a/Documentation/admin-guide/kernel-parameters.txt -+++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -4085,6 +4085,10 @@ - value, meaning that RCU_SOFTIRQ is used by default. - Specify rcutree.use_softirq=0 to use rcuc kthreads. - -+ But note that CONFIG_PREEMPT_RT=y kernels disable -+ this kernel boot parameter, forcibly setting it -+ to zero. -+ - rcutree.rcu_fanout_exact= [KNL] - Disable autobalancing of the rcu_node combining - tree. This is used by rcutorture, and might -diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c -index 5dc36c6e80fd..782a3152bafc 100644 ---- a/kernel/rcu/tree.c -+++ b/kernel/rcu/tree.c -@@ -100,8 +100,10 @@ static struct rcu_state rcu_state = { - static bool dump_tree; - module_param(dump_tree, bool, 0444); - /* By default, use RCU_SOFTIRQ instead of rcuc kthreads. */ --static bool use_softirq = true; -+static bool use_softirq = !IS_ENABLED(CONFIG_PREEMPT_RT); -+#ifndef CONFIG_PREEMPT_RT - module_param(use_softirq, bool, 0444); -+#endif - /* Control rcu_node-tree auto-balancing at boot time. */ - static bool rcu_fanout_exact; - module_param(rcu_fanout_exact, bool, 0444); --- -2.30.2 - |