Re: [RFC 0/4] trace_uprobe: Support SDT markers having semaphore

From: Srikar Dronamraju
Date: Wed Feb 28 2018 - 07:06:27 EST


* Ravi Bangoria <ravi.bangoria@xxxxxxxxxxxxxxxxxx> [2018-02-28 13:23:41]:

> # readelf -n ./tick
> Provider: tick
> Name: loop2
> ... Semaphore: 0x0000000010020036
>
> # readelf -SW ./tick | grep probes
> [25] .probes PROGBITS 0000000010020034 010034
>
>
> Semaphore offset is 0x10036. I don't have educated 'perf probe'
> about semaphore. So instead of using 'perf probe' command, I'm
> manually adding entry in the <tracefs>/uprobe_events file.
> Special char * denotes semaphore offset.
>
>
> # echo "p:sdt_tick/loop2 /tmp/tick:0x6e4 *0x10036" > uprobe_events
>
> # perf stat -e sdt_tick:loop2 -- /tmp/tick
> hi: 0
> hi: 1
> hi: 2
> hi: 3
> ^C
> Performance counter stats for '/tmp/tick':
> 4 sdt_tick:loop2
> 3.359047827 seconds time elapsed
>
>
> Feedback?
>
> TODO:
> - Educate perf tool about semaphore.
>

Is it possible to extend perf buildcache with a new option to work with
semaphore?