lkml.org 
[lkml]   [2012]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v9 3.2 7/9] tracing: uprobes trace_event interface

    * Jiri Olsa <jolsa@redhat.com> wrote:

    > I've tested following event:
    > echo "p:probe_libc/free /lib64/libc-2.13.so:0x7a4f0 %ax" > ./uprobe_events
    >
    > and commands like:
    > perf record -a -e probe_libc:free --filter "common_pid == 1127"
    > perf record -e probe_libc:free --filter "arg1 == 0xa" ls
    >
    > got me proper results.

    Btw., Srikar, if that's the primary UI today then we'll need to
    make it a *lot* more user-friendly than the above usage
    workflow.

    In particular this line:

    > echo "p:probe_libc/free /lib64/libc-2.13.so:0x7a4f0 %ax" > ./uprobe_events

    is not something a mere mortal will be able to figure out.

    There needs to be perf probe integration, that allows intuitive
    usage, such as:

    perf probe add libc:free

    Using the perf symbols code it should first search a libc*so DSO
    in the system, finding say /lib64/libc-2.15.so. The 'free'
    symbol is readily available there:

    aldebaran:~> eu-readelf -s /lib64/libc-2.15.so | grep ' free$'
    7186: 00000039ff47f080 224 FUNC GLOBAL DEFAULT 12 free
    then the tool can automatically turn that symbol information
    into the specific probe.

    Will it all work with DSO randomization, prelinking and default
    placement as well?

    Users should not be expected to enter magic hexa numbers to get
    a trivial usecase going ...

    this bit:

    > perf record -a -e probe_libc:free --filter "common_pid == 1127"
    > perf record -e probe_libc:free --filter "arg1 == 0xa" ls

    looks good and intuitive and 'perf list' should list all the
    available uprobes.

    Thanks,

    Ingo


    \
     
     \ /
      Last update: 2012-01-17 10:31    [from the cache]
    ©2003-2014 Jasper Spaans. Advertise on this site