Re: [RFC 0/4] trace_uprobe: Support SDT markers having semaphore
From: Ravi Bangoria
Date: Thu Mar 01 2018 - 00:08:49 EST
On 02/28/2018 05:36 PM, Srikar Dronamraju wrote:
> * 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?
Yes, that should be fairly easy to do. Will add a patch for that.
Thanks for the review,
Ravi