tracing: Disable tracing on warning
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Fri, 14 Jun 2013 20:21:43 +0000 (16:21 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 20 Jun 2013 03:32:07 +0000 (23:32 -0400)
commitde7edd31457b626e54a0b2a7e8ff4d65492f01ad
treefc98cad3155f6cded6192709c4cb496dd17282db
parentc3e13c7c0605677a2c94957b39157f4501cea9a8
tracing: Disable tracing on warning

Add a traceoff_on_warning option in both the kernel command line as well
as a sysctl option. When set, any WARN*() function that is hit will cause
the tracing_on variable to be cleared, which disables writing to the
ring buffer.

This is useful especially when tracing a bug with function tracing. When
a warning is hit, the print caused by the warning can flood the trace with
the functions that producing the output for the warning. This can make the
resulting trace useless by either hiding where the bug happened, or worse,
by overflowing the buffer and losing the trace of the bug totally.

Acked-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Documentation/kernel-parameters.txt
include/linux/ftrace.h
kernel/panic.c
kernel/sysctl.c
kernel/trace/trace.c