tracing: add per-subsystem filtering
authorTom Zanussi <tzanussi@gmail.com>
Sun, 22 Mar 2009 08:31:17 +0000 (03:31 -0500)
committerIngo Molnar <mingo@elte.hu>
Sun, 22 Mar 2009 17:38:47 +0000 (18:38 +0100)
commitcfb180f3e71b2a280a254c8646a9ab1beab63f84
tree93fb1a319b40851ebb7a3cc0d9ea4cc9a88e919a
parent7ce7e4249921d5073e764f7ff7ad83cfa9894bd7
tracing: add per-subsystem filtering

This patch adds per-subsystem filtering to the event tracing subsystem.

It adds a 'filter' debugfs file to each subsystem directory.  This file
can be written to to set filters; reading from it will display the
current set of filters set for that subsystem.

Basically what it does is propagate the filter down to each event
contained in the subsystem.  If a particular event doesn't have a field
with the name specified in the filter, it simply doesn't get set for
that event.  You can verify whether or not the filter was set for a
particular event by looking at the filter file for that event.

As with per-event filters, compound expressions are supported, echoing
'0' to the subsystem's filter file clears all filters in the subsystem,
etc.

Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <1237710677.7703.49.camel@charm-linux>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace.h
kernel/trace/trace_events.c
kernel/trace/trace_events_filter.c