From f7bf6055eb1e7ff603f0907b18ece35c72b05302 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 18 May 2024 20:50:31 +0200 Subject: Adding debian version 6.8.9-1. Signed-off-by: Daniel Baumann --- ...rcu-Mark-emergency-sections-in-rcu-stalls.patch | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 debian/patches-rt/0031-rcu-Mark-emergency-sections-in-rcu-stalls.patch (limited to 'debian/patches-rt/0031-rcu-Mark-emergency-sections-in-rcu-stalls.patch') diff --git a/debian/patches-rt/0031-rcu-Mark-emergency-sections-in-rcu-stalls.patch b/debian/patches-rt/0031-rcu-Mark-emergency-sections-in-rcu-stalls.patch new file mode 100644 index 0000000000..0cca134a21 --- /dev/null +++ b/debian/patches-rt/0031-rcu-Mark-emergency-sections-in-rcu-stalls.patch @@ -0,0 +1,96 @@ +From: John Ogness +Date: Mon, 11 Sep 2023 15:53:39 +0000 +Subject: [PATCH 31/48] rcu: Mark emergency sections in rcu stalls +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.8/older/patches-6.8.2-rt11.tar.xz + +Mark emergency sections wherever multiple lines of +rcu stall information are generated. In an emergency +section the CPU will not perform console output for the +printk() calls. Instead, a flushing of the console +output is triggered when exiting the emergency section. +This allows the full message block to be stored as +quickly as possible in the ringbuffer. + +Signed-off-by: John Ogness +Signed-off-by: Sebastian Andrzej Siewior +--- + kernel/rcu/tree_exp.h | 7 +++++++ + kernel/rcu/tree_stall.h | 9 +++++++++ + 2 files changed, 16 insertions(+) + +--- a/kernel/rcu/tree_exp.h ++++ b/kernel/rcu/tree_exp.h +@@ -7,6 +7,7 @@ + * Authors: Paul E. McKenney + */ + ++#include + #include + + static void rcu_exp_handler(void *unused); +@@ -636,6 +637,9 @@ static void synchronize_rcu_expedited_wa + return; + if (rcu_stall_is_suppressed()) + continue; ++ ++ nbcon_cpu_emergency_enter(); ++ + j = jiffies; + rcu_stall_notifier_call_chain(RCU_STALL_NOTIFY_EXP, (void *)(j - jiffies_start)); + trace_rcu_stall_warning(rcu_state.name, TPS("ExpeditedStall")); +@@ -689,6 +693,9 @@ static void synchronize_rcu_expedited_wa + rcu_exp_print_detail_task_stall_rnp(rnp); + } + jiffies_stall = 3 * rcu_exp_jiffies_till_stall_check() + 3; ++ ++ nbcon_cpu_emergency_exit(); ++ + panic_on_rcu_stall(); + } + } +--- a/kernel/rcu/tree_stall.h ++++ b/kernel/rcu/tree_stall.h +@@ -7,6 +7,7 @@ + * Author: Paul E. McKenney + */ + ++#include + #include + #include + +@@ -604,6 +605,8 @@ static void print_other_cpu_stall(unsign + if (rcu_stall_is_suppressed()) + return; + ++ nbcon_cpu_emergency_enter(); ++ + /* + * OK, time to rat on our buddy... + * See Documentation/RCU/stallwarn.rst for info on how to debug +@@ -655,6 +658,8 @@ static void print_other_cpu_stall(unsign + rcu_check_gp_kthread_expired_fqs_timer(); + rcu_check_gp_kthread_starvation(); + ++ nbcon_cpu_emergency_exit(); ++ + panic_on_rcu_stall(); + + rcu_force_quiescent_state(); /* Kick them all. */ +@@ -675,6 +680,8 @@ static void print_cpu_stall(unsigned lon + if (rcu_stall_is_suppressed()) + return; + ++ nbcon_cpu_emergency_enter(); ++ + /* + * OK, time to rat on ourselves... + * See Documentation/RCU/stallwarn.rst for info on how to debug +@@ -703,6 +710,8 @@ static void print_cpu_stall(unsigned lon + jiffies + 3 * rcu_jiffies_till_stall_check() + 3); + raw_spin_unlock_irqrestore_rcu_node(rnp, flags); + ++ nbcon_cpu_emergency_exit(); ++ + panic_on_rcu_stall(); + + /* -- cgit v1.2.3