]> git.baikalelectronics.ru Git - kernel.git/commit
tracing: Only clear trace buffer on module unload if event was traced
authorSteven Rostedt (Red Hat) <srostedt@redhat.com>
Tue, 5 Mar 2013 04:05:12 +0000 (23:05 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 15 Mar 2013 04:34:56 +0000 (00:34 -0400)
commitff90bdb91e099faf65e03215aaf9ee259d5b97a8
tree97eb88b78d064e2a3cfae555383f213083d29f45
parent49ca5d6a9fa7f67b1674fd444f88cd81905c5ec0
tracing: Only clear trace buffer on module unload if event was traced

Currently, when a module with events is unloaded, the trace buffer is
cleared. This is just a safety net in case the module might have some
strange callback when its event is outputted. But there's no reason
to reset the buffer if the module didn't have any of its events traced.

Add a flag to the event "call" structure called WAS_ENABLED and gets set
when the event is ever enabled, and this flag never gets cleared. When a
module gets unloaded, if any of its events have this flag set, then the
trace buffer will get cleared.

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