summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0028-rcu-Mark-emergency-sections-in-rcu-stalls.patch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/patches-rt/0028-rcu-Mark-emergency-sections-in-rcu-stalls.patch (renamed from debian/patches-rt/0031-rcu-Mark-emergency-sections-in-rcu-stalls.patch)54
1 files changed, 43 insertions, 11 deletions
diff --git a/debian/patches-rt/0031-rcu-Mark-emergency-sections-in-rcu-stalls.patch b/debian/patches-rt/0028-rcu-Mark-emergency-sections-in-rcu-stalls.patch
index 0cca134a21..7a13ac0042 100644
--- a/debian/patches-rt/0031-rcu-Mark-emergency-sections-in-rcu-stalls.patch
+++ b/debian/patches-rt/0028-rcu-Mark-emergency-sections-in-rcu-stalls.patch
@@ -1,7 +1,7 @@
From: John Ogness <john.ogness@linutronix.de>
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
+Subject: [PATCH 28/46] rcu: Mark emergency sections in rcu stalls
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.9/older/patches-6.9-rt5.tar.xz
Mark emergency sections wherever multiple lines of
rcu stall information are generated. In an emergency
@@ -14,9 +14,9 @@ quickly as possible in the ringbuffer.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
- kernel/rcu/tree_exp.h | 7 +++++++
- kernel/rcu/tree_stall.h | 9 +++++++++
- 2 files changed, 16 insertions(+)
+ kernel/rcu/tree_exp.h | 9 +++++++++
+ kernel/rcu/tree_stall.h | 11 +++++++++++
+ 2 files changed, 20 insertions(+)
--- a/kernel/rcu/tree_exp.h
+++ b/kernel/rcu/tree_exp.h
@@ -28,7 +28,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#include <linux/lockdep.h>
static void rcu_exp_handler(void *unused);
-@@ -636,6 +637,9 @@ static void synchronize_rcu_expedited_wa
+@@ -571,6 +572,9 @@ static void synchronize_rcu_expedited_wa
return;
if (rcu_stall_is_suppressed())
continue;
@@ -38,7 +38,15 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
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
+@@ -612,6 +616,7 @@ static void synchronize_rcu_expedited_wa
+ }
+ pr_cont("\n");
+ }
++ nbcon_cpu_emergency_flush();
+ rcu_for_each_leaf_node(rnp) {
+ for_each_leaf_node_possible_cpu(rnp, cpu) {
+ mask = leaf_node_cpu_bit(rnp, cpu);
+@@ -624,6 +629,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;
@@ -48,6 +56,14 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
panic_on_rcu_stall();
}
}
+@@ -792,6 +800,7 @@ static void rcu_exp_print_detail_task_st
+ */
+ touch_nmi_watchdog();
+ sched_show_task(t);
++ nbcon_cpu_emergency_flush();
+ }
+ raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
+ }
--- a/kernel/rcu/tree_stall.h
+++ b/kernel/rcu/tree_stall.h
@@ -7,6 +7,7 @@
@@ -58,7 +74,23 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#include <linux/kvm_para.h>
#include <linux/rcu_notifier.h>
-@@ -604,6 +605,8 @@ static void print_other_cpu_stall(unsign
+@@ -260,6 +261,7 @@ static void rcu_print_detail_task_stall_
+ */
+ touch_nmi_watchdog();
+ sched_show_task(t);
++ nbcon_cpu_emergency_flush();
+ }
+ raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
+ }
+@@ -522,6 +524,7 @@ static void print_cpu_stall_info(int cpu
+ falsepositive ? " (false positive?)" : "");
+
+ print_cpu_stat_info(cpu);
++ nbcon_cpu_emergency_flush();
+ }
+
+ /* Complain about starvation of grace-period kthread. */
+@@ -604,6 +607,8 @@ static void print_other_cpu_stall(unsign
if (rcu_stall_is_suppressed())
return;
@@ -67,7 +99,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* 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
+@@ -655,6 +660,8 @@ static void print_other_cpu_stall(unsign
rcu_check_gp_kthread_expired_fqs_timer();
rcu_check_gp_kthread_starvation();
@@ -76,7 +108,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
panic_on_rcu_stall();
rcu_force_quiescent_state(); /* Kick them all. */
-@@ -675,6 +680,8 @@ static void print_cpu_stall(unsigned lon
+@@ -675,6 +682,8 @@ static void print_cpu_stall(unsigned lon
if (rcu_stall_is_suppressed())
return;
@@ -85,7 +117,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
* 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
+@@ -703,6 +712,8 @@ static void print_cpu_stall(unsigned lon
jiffies + 3 * rcu_jiffies_till_stall_check() + 3);
raw_spin_unlock_irqrestore_rcu_node(rnp, flags);