tracing: add hierarchical enabling of events
authorSteven Rostedt <srostedt@redhat.com>
Thu, 7 May 2009 02:52:15 +0000 (22:52 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 7 May 2009 03:11:42 +0000 (23:11 -0400)
commit8ae79a138e88aceeeb07077bff2883245fb7c218
treeebb58fcf7d06af26c5855f664e769f850de4b434
parent9456f0fa6d3cb944d3b9fc31c9a244e0362c26ea
tracing: add hierarchical enabling of events

With the current event directory, you can only enable individual events.
The file debugfs/tracing/set_event is used to be able to enable or
disable several events at once. But that can still be awkward.

This patch adds hierarchical enabling of events. That is, each directory
in debugfs/tracing/events has an "enable" file. This file can enable
or disable all events within the directory and below.

 # echo 1 > /debugfs/tracing/events/enable

will enable all events.

 # echo 1 > /debugfs/tracing/events/sched/enable

will enable all events in the sched subsystem.

 # echo 1 > /debugfs/tracing/events/enable
 # echo 0 > /debugfs/tracing/events/irq/enable

will enable all events, but then disable just the irq subsystem events.

When reading one of these enable files, there are four results:

 0 - all events this file affects are disabled
 1 - all events this file affects are enabled
 X - there is a mixture of events enabled and disabled
 ? - this file does not affect any event

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