[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <5886FB0B.40901@linux.vnet.ibm.com>
Date: Tue, 24 Jan 2017 12:28:19 +0530
From: Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com>
To: Ingo Molnar <mingo@...nel.org>
Cc: Alexis Berlemont <alexis.berlemont@...il.com>,
linux-kernel@...r.kernel.org, peterz@...radead.org,
mingo@...hat.com, acme@...nel.org,
alexander.shishkin@...ux.intel.com, Jiri Olsa <jolsa@...hat.com>,
Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com>
Subject: Re: [PATCH v5 0/2] perf probe: add sdt probes arguments into the
uprobe cmd string
On Wednesday 14 December 2016 01:06 PM, Ingo Molnar wrote:
> * Alexis Berlemont <alexis.berlemont@...il.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
Powered by blists - more mailing lists