ftrace: add ftrace_off_permanent
Impact: add new API to disable all of ftrace on anomalies It case of a serious anomaly being detected (like something caught by lockdep) it is a good idea to disable all tracing immediately, without grabing any locks. This patch adds ftrace_off_permanent that disables the tracers, function tracing and ring buffers without a way to enable them again. This should only be used when something serious has been detected. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:

committed by
Ingo Molnar

parent
e58918ab9d
commit
69bb54ec05
@@ -660,6 +660,21 @@ static void trace_init_cmdlines(void)
|
||||
static int trace_stop_count;
|
||||
static DEFINE_SPINLOCK(tracing_start_lock);
|
||||
|
||||
/**
|
||||
* ftrace_off_permanent - disable all ftrace code permanently
|
||||
*
|
||||
* This should only be called when a serious anomally has
|
||||
* been detected. This will turn off the function tracing,
|
||||
* ring buffers, and other tracing utilites. It takes no
|
||||
* locks and can be called from any context.
|
||||
*/
|
||||
void ftrace_off_permanent(void)
|
||||
{
|
||||
tracing_disabled = 1;
|
||||
ftrace_stop();
|
||||
tracing_off_permanent();
|
||||
}
|
||||
|
||||
/**
|
||||
* tracing_start - quick start of the tracer
|
||||
*
|
||||
|
Reference in New Issue
Block a user