[RFC PATCH 0/2] Perf support to SDT markers

Hemant hkshaw@linux.vnet.ibm.com
Wed Sep 4 18:12:00 GMT 2013


On 09/04/2013 01:55 PM, Mark Wielaard wrote:
> On Wed, 2013-09-04 at 15:49 +0900, Namhyung Kim wrote:
>> On Tue, 03 Sep 2013 18:53:17 +0530, Hemant wrote:
>>> On 09/03/2013 02:47 PM, Masami Hiramatsu wrote:
>>>> Indeed, and also I'd like to know what versions of SDT this support,
>>>> and where we can see the technical document of that. As far as I know,
>>>> the previous(?) SDT implementation also involves ugly semaphores.
>>>> Have that already gone?
>> It seems it's not. I see the SDT v3 document still mentions semaphores.
> It mentions them, but should normally not be used. They are there for
> dtrace (source) compatibility. And you don't have to use them.
>
> Since normally a SDT probe marker is just a NOP it doesn't have any
> overhead. But if you want to add complicated arguments that you would
> normally not generate in your code, then you might want to add a
> semaphore. That way you can have probes with a bit more overhead that
> still have zero overhead when not being probed.
>
> Note that if you use the normal DTRACE_PROBE macros no semaphore will be
> inserted. And you can opt to not support probes that have a semaphore in
> perf if you think that is easier (just check the semaphore link-time
> address for the probe, it should normally be zero). Just warn: "No way I
> am going to probe something that might have a little extra overhead! I
> am no debugger..." :)

I agree. There will be an extra overhead but there may be some important 
markers (on which we need to probe) may be worth this overhead?

Thanks
Hemant

>
>>> This link shows an example of marker probing with Systemtap:
>>> https://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToApps
>> I think the link below would be more helpful for us :)
>>
>> http://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation
> Yes, that should be the canonical description.
>
> Cheers,
>
> Mark
>



More information about the Systemtap mailing list