[PATCHv5 0/7] ftrace, perf: Adding support to use function trace

From: Jiri Olsa
Date: Mon Jan 02 2012 - 04:05:01 EST


hi,
here's another version of perf support for function trace
with filter.

attached patches:
1/7 ftrace: Change filter/notrace set functions to return exit code
2/7 ftrace: Add enable/disable ftrace_ops control interface
3/7 ftrace, perf: Add open/close tracepoint perf registration actions
4/7 ftrace, perf: Add add/del tracepoint perf registration actions
5/7 ftrace, perf: Add support to use function tracepoint in perf
6/7 ftrace, perf: Distinguish ftrace function event field type
7/7 ftrace, perf: Add filter support for function trace event

v5 changes:
7/7 - fixed to properly support ',' in filter expressions

v4 changes:
2/7 - FL_GLOBAL_CONTROL changed to FL_GLOBAL_CONTROL_MASK
- changed WARN_ON_ONCE() to include the !preempt_count()
- changed this_cpu_ptr to per_cpu_ptr

ommited Fix possible NULL dereferencing in __ftrace_hash_rec_update
(2/8 in v3)

v3 changes:
3/8 - renamed __add/remove_ftrace_ops
- fixed preemtp_enable/recursion_clear order in ftrace_ops_control_func
- renamed/commented API functions - enable/disable_ftrace_function

ommited graph tracer workarounf patch 10/10

v2 changes:
01/10 - keeping the old fix instead of adding hash_has_contents func
I'll send separating patchset for this
02/10 - using different way to avoid the issue (3/9 in v1)
03/10 - using the way proposed by Steven for controling ftrace_ops
(4/9 in v1)
06/10 - added check ensuring the ftrace:function event could be used by
root only (7/9 in v1)
08/10 - added more description (8/9 in v1)
09/10 - changed '&&' operator to '||' which seems more suitable
in this case (9/9 in v1)

thanks,
jirka
---
include/linux/ftrace.h | 47 ++++++++-
include/linux/ftrace_event.h | 9 +-
include/linux/perf_event.h | 3 +
kernel/trace/ftrace.c | 140 +++++++++++++++++++++--
kernel/trace/trace.h | 11 ++-
kernel/trace/trace_event_perf.c | 214 +++++++++++++++++++++++++++++-------
kernel/trace/trace_events.c | 12 ++-
kernel/trace/trace_events_filter.c | 164 ++++++++++++++++++++++++++-
kernel/trace/trace_export.c | 53 ++++++++-
kernel/trace/trace_kprobe.c | 8 +-
kernel/trace/trace_syscalls.c | 18 +++-
11 files changed, 598 insertions(+), 81 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/