Messages in this thread | | | Date | Mon, 07 Sep 2009 16:11:57 +0800 | From | Li Zefan <> | Subject | [PATCH 0/6] perf trace: Add filter support |
| |
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(-)
| |