Thread (5 messages) 5 messages, 2 authors, 2016-05-27

Re: [PATCH RT] kernel/printk: Don't try to print from IRQ/NMI region

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2016-05-27 14:12:56
Also in: lkml

On Fri, 27 May 2016 15:58:12 +0200
Sebastian Andrzej Siewior [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On -RT we try to acquire sleeping locks which might lead to warnings
from lockdep or a warn_on() from spin_try_lock() (which is a rtmutex on
RT).
We don't print in general from a IRQ off region so we should not try
this via console_unblank() / bust_spinlocks() as well.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 kernel/printk/printk.c |   10 ++++++++++
 1 file changed, 10 insertions(+)
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -1502,6 +1502,11 @@ static void call_console_drivers(int lev
 	if (!console_drivers)
 		return;
 
+	if (IS_ENABLED(CONFIG_PREEMPT_RT_BASE)) {
+		if (in_irq() || in_nmi())
+			return;
+	}
+
We use to have a patch where a console could flag itself as atomic.
That is, that it doesn't call any sleeping locks. What happened to that.

IIRC, the video console was one such console. Otherwise, we lose out on
backtraces in irq context.

-- Steve
 	migrate_disable();
 	for_each_console(con) {
 		if (exclusive_console && con != exclusive_console)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help