Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Jiri Olsa <jolsa <at> redhat.com>
Subject: [RFCv2] ftrace, perf: Adding support to use function trace
Newsgroups: gmane.linux.kernel
Date: Monday 5th December 2011 17:22:46 UTC (over 5 years ago)
hi,
here's another version of perf support for function trace
with filter. The changeset is working and hopefully is not
introducing more bugs.. ;) still testing though..

It's still marked RFC since I'm not sure there's better way to go
with patches 2 and 10. Also not sure if the condition fixed by
patch 7 was not intentional. The rest is fixed/updated version
of the v1 changes.

attached patches:
 01/10 ftrace: Fix possible NULL dereferencing in __ftrace_hash_rec_update
 02/10 ftrace: Change mcount call replacement logic
 03/10 ftrace: Add enable/disable ftrace_ops control interface
 04/10 ftrace, perf: Add open/close tracepoint perf registration actions
 05/10 ftrace, perf: Add add/del tracepoint perf registration actions
 06/10 ftrace, perf: Add support to use function tracepoint in perf
 07/10 ftrace: Change filter/notrace set functions to return exit code
 08/10 ftrace, perf: Distinguish ftrace function event field type
 09/10 ftrace, perf: Add filter support for function trace event
 10/10 ftrace, graph: Add global_ops filter callback for graph tracing

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 for comments,
jirka
---
 include/linux/ftrace.h             |   18 +++-
 include/linux/ftrace_event.h       |    9 +-
 include/linux/perf_event.h         |    3 +
 kernel/trace/ftrace.c              |  202
+++++++++++++++++++++++++++++------
 kernel/trace/trace.h               |   11 ++-
 kernel/trace/trace_event_perf.c    |  212
+++++++++++++++++++++++++++++-------
 kernel/trace/trace_events.c        |   12 ++-
 kernel/trace/trace_events_filter.c |  116 ++++++++++++++++++-
 kernel/trace/trace_export.c        |   53 ++++++++-
 kernel/trace/trace_kprobe.c        |    8 +-
 kernel/trace/trace_syscalls.c      |   18 +++-
 11 files changed, 562 insertions(+), 100 deletions(-)
 
CD: 48ms