lkml.org 
[lkml]   [2017]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v5 0/2] perf probe: add sdt probes arguments into the uprobe cmd string
    From
    Date


    On Wednesday 14 December 2016 01:06 PM, Ingo Molnar wrote:
    > * Alexis Berlemont <alexis.berlemont@gmail.com> wrote:
    >
    >> Hi Masami,
    >>
    >> Many thanks for your mail.
    >>
    >> Here is another patch set which tries to fix the points you mentioned:
    >>
    >> * Skip the arguments containing a constant ($123);
    >> * Review the code in charge of the register renaming (search for '%'
    >> and parse it);
    >> * Minor changes (print the argument in case of error, skipping, check
    >> the sdt arg type index);
    >>
    >> Many thanks,
    >>
    >> Alexis.
    >>
    >> Alexis Berlemont (2):
    >> perf sdt: add scanning of sdt probles arguments
    >> perf probe: add sdt probes arguments into the uprobe cmd string
    > I'd like to hijack this thread to report an SDT oddity - one of my boxen reports
    > lots of SDT tracepoints in 'perf list':
    >
    > mem:<addr>[/len][:access] [Hardware breakpoint]
    >
    > sdt_libc:lll_lock_wait_private [SDT event]
    > sdt_libc:longjmp [SDT event]
    > sdt_libc:longjmp_target [SDT event]
    > sdt_libc:memory_arena_new [SDT event]
    > sdt_libc:memory_arena_retry [SDT event]
    > sdt_libc:memory_arena_reuse [SDT event]
    > sdt_libc:memory_arena_reuse_free_list [SDT event]
    > sdt_libc:memory_arena_reuse_wait [SDT event]
    > sdt_libc:memory_calloc_retry [SDT event]
    > sdt_libc:memory_heap_free [SDT event]
    > ...
    >
    > But none of them work:
    >
    > Error: No permissions to read /sys/kernel/debug/tracing/events/sdt_libc/longjmp
    > Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing'
    >
    > ...
    >
    > Error: File /sys/kernel/debug/tracing/events/sdt_libc/longjmp not found.
    > Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?.
    >
    > What kind of patches are required for SDT probes to work?

    Hi Ingo,

    I suppose you are trying to record SDT events without probing it.
    In that case, first put a probe on an event and then try to record
    it. For example,

    $ ./perf list | grep sdt_
    sdt_glib:main__after_prepare [SDT event]
    sdt_glib:main__before_dispatch [SDT event]
    ...

    $ ./perf record -a -e sdt_glib:main__after_prepare
    event syntax error: 'sdt_glib:main__after_prepare'
    \___ unknown tracepoint

    Error: File /sys/kernel/debug/tracing/events/sdt_glib/main__after_prepare not found.
    Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?.
    ...

    $ ./perf probe sdt_glib:main__after_prepare
    Added new events:
    sdt_glib:main__after_prepare (on %main__after_prepare in /usr/lib64/libglib-2.0.so.0.5000.2)
    sdt_glib:main__after_prepare_1 (on %main__after_prepare in /usr/lib64/libglib-2.0.so.0.5000.2)

    You can now use it in all perf tools, such as:

    perf record -e sdt_glib:main__after_prepare_1 -aR sleep 1

    $ ./perf record -a -e sdt_glib:main__after_prepare
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.191 MB perf.data ]

    -Ravi

    \
     
     \ /
      Last update: 2017-01-24 07:58    [W:4.076 / U:1.304 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site