[lkml]   [2010]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH -tip v3 00/10] perf-probe updates - data-structure support improvements, etc.
    Hi Ingo and Arnaldo,

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

    - 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 and xzalloc/xstr*dup from util code,
    according to acme's advice. Thanks!

    TODOs (possible features):
    - Support string/dynamic arrays (*var, var[N..M])
    - Support tracing static variables (non global)
    - Support array element (var[N])
    - 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 (10):
    perf probe: Remove xstrdup()/xstrndup() from util/probe-{event,finder}.c
    perf probe: Remove xzalloc() from util/probe-{event,finder}.c
    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 | 855 ++++++++++++++++++++++---------
    tools/perf/util/probe-event.h | 27 +
    tools/perf/util/probe-finder.c | 647 ++++++++++++++++-------
    tools/perf/util/probe-finder.h | 1
    9 files changed, 1469 insertions(+), 701 deletions(-)

    Masami Hiramatsu

     \ /
      Last update: 2010-04-12 19:13    [W:0.023 / U:16.764 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site