Messages in this thread | | | Date | Thu, 14 Jul 2016 16:59:05 +0900 | From | Masami Hiramatsu <> | Subject | Re: perf probe: Seaching the cache automatically |
| |
On Wed, 13 Jul 2016 16:11:37 -0300 Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Masami, > > While reviewing your latest patchkit I figured out I left some > sdt entries in my cache, cool! Tried to use but: > > [root@jouet 22]# perf probe --cache --list > /usr/lib64/libc-2.23.so (88686319c72f1a9d9cd514af519aa5602880bab2): > sdt_libc:setjmp=setjmp > sdt_libc:longjmp=longjmp > sdt_libc:longjmp_target=longjmp_target > sdt_libc:memory_arena_reuse_free_list=memory_arena_reuse_free_list > sdt_libc:memory_heap_new=memory_heap_new > sdt_libc:memory_sbrk_less=memory_sbrk_less > sdt_libc:memory_arena_reuse_wait=memory_arena_reuse_wait > sdt_libc:memory_arena_reuse=memory_arena_reuse > sdt_libc:memory_arena_new=memory_arena_new > sdt_libc:memory_arena_retry=memory_arena_retry > sdt_libc:memory_heap_free=memory_heap_free > sdt_libc:memory_heap_less=memory_heap_less > sdt_libc:memory_heap_more=memory_heap_more > sdt_libc:memory_sbrk_more=memory_sbrk_more > sdt_libc:memory_malloc_retry=memory_malloc_retry > sdt_libc:memory_mallopt_free_dyn_thresholds=memory_mallopt_free_dyn_thresholds > sdt_libc:memory_realloc_retry=memory_realloc_retry > sdt_libc:memory_memalign_retry=memory_memalign_retry > sdt_libc:memory_calloc_retry=memory_calloc_retry > sdt_libc:memory_mallopt=memory_mallopt > sdt_libc:memory_mallopt_mxfast=memory_mallopt_mxfast > sdt_libc:memory_mallopt_arena_max=memory_mallopt_arena_max > sdt_libc:memory_mallopt_arena_test=memory_mallopt_arena_test > sdt_libc:memory_mallopt_mmap_max=memory_mallopt_mmap_max > sdt_libc:memory_mallopt_mmap_threshold=memory_mallopt_mmap_threshold > sdt_libc:memory_mallopt_top_pad=memory_mallopt_top_pad > sdt_libc:memory_mallopt_trim_threshold=memory_mallopt_trim_threshold > sdt_libc:memory_mallopt_perturb=memory_mallopt_perturb > sdt_libc:memory_mallopt_check_action=memory_mallopt_check_action > sdt_libc:lll_lock_wait_private=lll_lock_wait_private > [root@jouet 22]# > > [root@jouet 22]# perf record --event sdt_libc:memory_heap_new -a > event syntax error: 'sdt_libc:memory_heap_new' > \___ unknown tracepoint > > Error: File /sys/kernel/debug/tracing/events/sdt_libc/memory_heap_new not found. > Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?. > > Run 'perf list' for a list of valid events > > Usage: perf record [<options>] [<command>] > or: perf record [<options>] -- <command> [<options>] > > -e, --event <event> event selector. use 'perf list' to list available events > [root@jouet 22]# > > So probably I need to do something else, will dig that, scratching my head, as > my expectation was that it would look at that cache and pick things from there, > etc. Perhaps this is in a patch in this series, will check...
Ah, yes, that is currently under development. What happened in the series is I dropped direct SDT record, because I felt it was not prepared to be merged. This is why perf list still doesn't show the SDT events. (only perf-probe shows it)
So, currently, you have to use perf-probe to set up SDT events as same as other dynamic events. So, before run the perf record, please run below command.
# perf probe sdt_libc:memory_heap_new
Then you can record the event.
Thanks,
-- Masami Hiramatsu <mhiramat@kernel.org>
| |