]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
tracing: Keep NMI watchdog from triggering when dumping trace
authorSteven Rostedt <srostedt@redhat.com>
Fri, 2 Mar 2012 03:06:48 +0000 (22:06 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 2 Mar 2012 03:06:48 +0000 (22:06 -0500)
As ftrace_dump() (called by ftrace_dump_on_oops) disables interrupts
as it dumps its output to the console, it can keep interrupts disabled
for long periods of time. This is likely to trigger the NMI watchdog,
and it can disrupt the output of critical data.

Add a touch_nmi_watchdog() to each event that is written to the screen
to keep the NMI watchdog from affecting the output.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace.c

index f3c13d63d06480ba0675f1ce0f0898a7e7023e1e..3a19c354edd6b50fd21d2e1e1be5273f128781f7 100644 (file)
@@ -36,6 +36,7 @@
 #include <linux/ctype.h>
 #include <linux/init.h>
 #include <linux/poll.h>
+#include <linux/nmi.h>
 #include <linux/fs.h>
 
 #include "trace.h"
@@ -4903,6 +4904,7 @@ __ftrace_dump(bool disable_tracing, enum ftrace_dump_mode oops_dump_mode)
                        if (ret != TRACE_TYPE_NO_CONSUME)
                                trace_consume(&iter);
                }
+               touch_nmi_watchdog();
 
                trace_printk_seq(&iter.seq);
        }