lkml.org 
[lkml]   [2010]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH -tip v2 0/8] perf-probe updates - data-structure support improvements, etc.
    Date
    Hi Ingo,

    Here are several updates of perf-probe. This series improves
    data structure accessing. In this version, I added 'removing die()'
    patches.

    - Set the name of argument which traces a data structure member
    as the last member of the data structure reference (e.g. f_mode
    of file->f_mode). This allows us to use perf-trace for tracin
    data-structure members.

    - Add the basic type support. This allows us to fetch the memory
    with specified bitwidth. Usually, data-structure members are
    packed on the memory, this means if we want to read a member
    from memory, we have to access it with type casting.
    kprobe-tracer now support tracing argument with basic types
    (u8,u16,u32,u64,s8,s16,s32,s64), and perf-probe decodes the type
    information of the members.

    - Support canonical frame address, which is used for refering
    frame-base on the kernel built without CONFIG_FRAME_POINTER.

    - Remove almost all die()s from util code, according to acme's
    advice. Thanks!

    TODOs (possible features):
    - Support array element (var[N])
    - Support string/dynamic arrays (*var, var[N..M])
    - Support tracing static variables (non global)
    - Support dynamic array-indexing (var[var2])
    - Support force type-casting ((type)var)
    - Show what deta-structure member is assigned to each argument.
    - Better support for probes on modules
    - More debugger like enhancements(%next, --disasm, etc.)

    Thank you,

    ---

    Masami Hiramatsu (8):
    perf probe: Remove die() from probe-event code
    perf probe: Remove die() from probe-finder code
    perf probe: Support DW_OP_call_frame_cfa in debuginfo
    perf probe: Support basic type casting
    perf probe: Query basic types from debuginfo
    tracing/kprobes: Support basic types on dynamic events
    perf probe: Use the last field name as the argument name
    perf probe: Support argument name


    Documentation/trace/kprobetrace.txt | 4
    kernel/trace/trace.h | 16 -
    kernel/trace/trace_kprobe.c | 535 +++++++++++++++---------
    tools/perf/Documentation/perf-probe.txt | 11
    tools/perf/builtin-probe.c | 74 ++-
    tools/perf/util/probe-event.c | 683 ++++++++++++++++++++++---------
    tools/perf/util/probe-event.h | 27 +
    tools/perf/util/probe-finder.c | 586 ++++++++++++++++++---------
    tools/perf/util/probe-finder.h | 1
    9 files changed, 1283 insertions(+), 654 deletions(-)

    --
    Masami Hiramatsu
    e-mail: mhiramat@redhat.com


    \
     
     \ /
      Last update: 2010-04-07 00:01    [W:3.302 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site