lkml.org 
[lkml]   [2009]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/4] ftrace - add function_duration tracer

    * Steven Rostedt <rostedt@goodmis.org> wrote:

    > On Thu, 2009-12-10 at 13:03 +0100, Frederic Weisbecker wrote:
    >
    > > This makes me feel I'm going to try converting the function graph
    > > tracer into an event during the next cycle. It does not mean I could
    > > make it usable as a perf event right away in the same shot that
    > > said, as you can guess this is not a trivial plug. The current perf
    > > fast path is not yet adapted for that.
    >
    > I curious how you plan on doing this. The current event system shows
    > one event per trace point. A straight forward approach would make
    > every entry and exit of a function a trace point and that would lead
    > to a very large kernel to handle that.
    >
    > Perhaps we could abstract out all entries and exits. We need to be
    > able to link to a single point (entry or exit) not all. This also has
    > the added issue of using the ftrace infrastructure of nop the mcount
    > call. We also need a way to enable a set of functions.

    I think a good solution would be what i suggested (and what the patch i
    sent does in essence), i.e. to add a special software event for
    functions:

    PERF_COUNT_SW_FUNCTION_CALLS

    Next step would be to extend the ioctl interface to allow per function
    tracepoints to be turned on/off (and set other per function attributes).
    The attributes would be system-wide (at least initially) - we dont want
    to live patch functions at context switch time.

    We'd basically keep the function tracer, just re-wire it somewhat and
    expose it via the unified interface and make it available to a much
    larger set of usecases.

    Ingo


    \
     
     \ /
      Last update: 2009-12-10 17:21    [W:2.788 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site