lkml.org 
[lkml]   [2010]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH -tip v3 04/10] perf probe: Query basic types from debuginfo
    Em Mon, Apr 12, 2010 at 01:17:15PM -0400, Masami Hiramatsu escreveu:
    > Query the basic type information (byte-size and signed-flag) from
    > debuginfo and pass that to kprobe-tracer. This is especially useful
    > for tracing the members of data structure, because each member has
    > different byte-size on the memory.
    >
    > Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
    > Cc: Ingo Molnar <mingo@elte.hu>
    > Cc: Paul Mackerras <paulus@samba.org>
    > Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    > Cc: Peter Zijlstra <peterz@infradead.org>
    > Cc: Mike Galbraith <efault@gmx.de>
    > Cc: Frederic Weisbecker <fweisbec@gmail.com>
    > ---
    >
    > tools/perf/util/probe-event.c | 9 +++++
    > tools/perf/util/probe-event.h | 1 +
    > tools/perf/util/probe-finder.c | 78 ++++++++++++++++++++++++++++++++++++----
    > 3 files changed, 80 insertions(+), 8 deletions(-)
    >
    > diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
    > index 19de8b7..05ca4a9 100644
    > --- a/tools/perf/util/probe-event.c
    > +++ b/tools/perf/util/probe-event.c
    > @@ -740,6 +740,13 @@ static int synthesize_kprobe_trace_arg(struct kprobe_trace_arg *arg,
    > buf += ret;
    > buflen -= ret;
    > }
    > + /* Print argument type */
    > + if (arg->type) {
    > + ret = e_snprintf(buf, buflen, ":%s", arg->type);
    > + if (ret <= 0)
    > + return ret;
    > + buf += ret;
    > + }
    >
    > return buf - tmp;
    > }
    > @@ -848,6 +855,8 @@ void clear_kprobe_trace_event(struct kprobe_trace_event *tev)
    > free(tev->args[i].name);
    > if (tev->args[i].value)
    > free(tev->args[i].value);
    > + if (tev->args[i].type)
    > + free(tev->args[i].type);

    It follows the existing style but as kfree, free() also can cope with
    NULL pointers, so unconditionally calling free is a shorter form, but
    this can be fixed later, possibily in a big cleanup in all of
    tools/perf.

    - Arnaldo


    \
     
     \ /
      Last update: 2010-04-12 19:47    [W:2.386 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site