lkml.org 
[lkml]   [2012]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCHv8 0/8] ftrace, perf: Adding support to use function trace
Date
hi,
here's another version of perf support for function trace
with filter.

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

v8 changes:
1/8 - acked
2/8 - acked
3/8 - acked
4/8 - acked
5/8 - new patch - added FTRACE_ENTRY_REG macro
6/8 - using FTRACE_ENTRY_REG macro to define ftrace event
7/8 - adding filter parameter to FTRACE_ENTRY macro
8/8 - using only walk_pred_tree to check the filter
instead using different special filter_ops,

v7 changes:
2/7 - using int instead of atomic_t for ftrace_ops::disable
- using this_cpu_ptr to touch ftrace_ops::disable
- renamed ftrace_ops:disable API
void ftrace_function_local_enable(struct ftrace_ops *ops)
void ftrace_function_local_disable(struct ftrace_ops *ops)
int ftrace_function_local_disabled(struct ftrace_ops *ops)

v6 changes:
2/7 - added comments to FTRACE_OPS_FL_* bits enum
5/7 - added more info to the change log regarding ftrace_ops enable/disable
7/7 - rebased to the latest filter changes

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 | 71 ++++++++++++-
include/linux/ftrace_event.h | 9 ++-
include/linux/perf_event.h | 3 +
kernel/trace/ftrace.c | 132 +++++++++++++++++++++---
kernel/trace/trace.h | 34 ++++--
kernel/trace/trace_entries.h | 54 +++++++---
kernel/trace/trace_event_perf.c | 206 ++++++++++++++++++++++++++++--------
kernel/trace/trace_events.c | 12 ++-
kernel/trace/trace_events_filter.c | 160 +++++++++++++++++++++++++++-
kernel/trace/trace_export.c | 64 ++++++++----
kernel/trace/trace_kprobe.c | 8 ++-
kernel/trace/trace_syscalls.c | 18 +++-
12 files changed, 654 insertions(+), 117 deletions(-)


\
 
 \ /
  Last update: 2012-02-07 20:47    [W:0.390 / U:0.392 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site