]> err.no Git - linux-2.6/commit
ftrace: set_ftrace_notrace feature
authorSteven Rostedt <rostedt@goodmis.org>
Thu, 22 May 2008 15:46:33 +0000 (11:46 -0400)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 26 May 2008 20:51:37 +0000 (22:51 +0200)
commit41c52c0db9607e59f90da7da5309489fa06e887f
treeb0b1f282c087c53dfd4081da5a8a35cdc5ea5ebb
parentda89a7a2536c46e76a1a4351a70a8b8417e5fed1
ftrace: set_ftrace_notrace feature

While debugging latencies in the RT kernel, I found that it would be nice
to be able to filter away functions from the trace than just to filter
on functions.

I added a new interface to the debugfs tracing directory called

  set_ftrace_notrace

When dynamic frace is enabled, this lets you filter away functions that will
not be recorded in the trace. It is similar to adding 'notrace' to those
functions but by doing it without recompiling the kernel.

Here's how set_ftrace_filter and set_ftrace_notrace interact. Remember, if
set_ftrace_filter is set, it removes all functions from the trace execpt for
those listed in the set_ftrace_filter. set_ftrace_notrace will prevent those
functions from being traced.

If you were to set one function in both set_ftrace_filter and
set_ftrace_notrace and that function was the same, then you would end up
with an empty trace.

the set of functions to trace is:

  set_ftrace_filter == empty then

     all functions not in set_ftrace_notrace

  else

     set of the set_ftrace_filter and not in set of set_ftrace_notrace.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/ftrace.h
kernel/trace/ftrace.c