]> git.baikalelectronics.ru Git - kernel.git/commit
tracing: Do not enable function event with enable
authorSteven Rostedt <srostedt@redhat.com>
Thu, 10 May 2012 19:55:43 +0000 (15:55 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 10 May 2012 19:55:43 +0000 (15:55 -0400)
commit821958bab1b84148be4a1e90183ddb5b6543cc06
treeac90f2faceecab78d7d547c33daef31d4a9e2943
parent115fd6c7a1ad9f03738b3e1443b009ff42aea3e1
tracing: Do not enable function event with enable

With the adding of function tracing event to perf, it caused a
side effect that produces the following warning when enabling all
events in ftrace:

 # echo 1 > /sys/kernel/debug/tracing/events/enable

[console]
event trace: Could not enable event function

This is because when enabling all events via the debugfs system
it ignores events that do not have a ->reg() function assigned.
This was to skip over the ftrace internal events (as they are
not TRACE_EVENTs). But as the ftrace function event now has
a ->reg() function attached to it for use with perf, it is no
longer ignored.

Worse yet, this ->reg() function is being called when it should
not be. It returns an error and causes the above warning to
be printed.

By adding a new event_call flag (TRACE_EVENT_FL_IGNORE_ENABLE)
and have all ftrace internel event structures have it set,
setting the events/enable will no longe try to incorrectly enable
the function event and does not warn.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ftrace_event.h
kernel/trace/trace_events.c
kernel/trace/trace_export.c