From: Li Zefan on
This patchset adds filter support for perf counter, so not all
profile events are recorded but only those match the filters
we set.

An example:

#./perf record -f -e irq:irq_handler_entry:irq==18:record
or
#./perf record -f -e irq:irq_handler_entry:irq==18 -R
^C
# ./perf trace
version = 0.5
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

---
include/linux/ftrace_event.h | 19 +++-
include/linux/perf_counter.h | 1 +
include/linux/syscalls.h | 14 ++-
include/trace/ftrace.h | 10 +-
kernel/perf_counter.c | 40 ++++++-
kernel/trace/trace.h | 9 +-
kernel/trace/trace_event_profile.c | 18 +++
kernel/trace/trace_events_filter.c | 247 +++++++++++++++++++++---------------
kernel/trace/trace_syscalls.c | 9 +-
tools/perf/builtin-record.c | 12 ++
tools/perf/util/parse-events.c | 48 ++++++-
tools/perf/util/parse-events.h | 1 +
12 files changed, 303 insertions(+), 125 deletions(-)

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