[PATCH 0/4] perf trace: Add filter Suppport, V3

From: Li Zefan
Date: Wed Oct 14 2009 - 23:22:04 EST


This patchset adds filter support for perf event, so not all
profile events are recorded but only those match the filters
we set.

An example:

#./perf record -R -f -e irq:irq_handler_entry --filter irq==18
^C
# ./perf trace
perf-4303 ... irq_handler_entry: irq=18 handler=eth0
init-0 ... irq_handler_entry: irq=18 handler=eth0
init-0 ... irq_handler_entry: irq=18 handler=eth0
init-0 ... irq_handler_entry: irq=18 handler=eth0
init-0 ... irq_handler_entry: irq=18 handler=eth0

The syntax of filter expressions can be found in
Documentation/trace/events.txt.

Major changes since V2:

- Remove struct perf_event::filter_active.

Major changes since V1:

- Make filters per perf event, instead of per tracepoint.

- Use "--filter" to set a filter for a trace event, instead of
mixing it into "-e" option.

---
include/linux/ftrace_event.h | 11 ++-
include/linux/perf_counter.h | 1 +
include/linux/perf_event.h | 6 +
kernel/perf_event.c | 80 +++++++++-
kernel/trace/trace.h | 6 +-
kernel/trace/trace_events_filter.c | 302 +++++++++++++++++++++---------------
tools/perf/builtin-record.c | 15 ++-
tools/perf/util/parse-events.c | 26 +++-
tools/perf/util/parse-events.h | 2 +
9 files changed, 306 insertions(+), 143 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/