Using markers

Julio M. Merino Vidal jmerino@ac.upc.edu
Mon Dec 3 19:59:00 GMT 2007


On 03/12/2007, at 17:28, David Smith wrote:

> Julio M. Merino Vidal wrote:
>> Hello,
>>
>> I am interested in getting traces of the SPU scheduler in the Cell
>> platform.  SystemTap seems like an excellent candidate to take those
>> traces but I'm having some trouble getting it to work as I need.   
>> Using
>> probes at function entry/exit points works in most cases, which is
>> great, but some of the functions I'm interested in tracing are  
>> declared
>> as static and therefore the debugging information lacks some  
>> details to
>> access such as, for example, their parameters.
>>
>> So I've considered using markers as the documentation explains, but I
>> cannot get them to work.  Based on bug 4446, I understand that the
>> CONFIG_MARKERS support that is in Linux 2.6.23 is not yet  
>> supported by
>> SystemTap (even though I did try them), so I tried to use the macros
>> defined in stapmark.h as shipped by SystemTap's Git repository.  But
>> those don't seem to work either.
>
> We should probably remove stapmark.h since we don't support it.

fche already did it.

>> Here is what I added in the probe's point:
>>
>> trace_mark(spufs_bind_context_new, "spu %d ctx %p", spu->number,  
>> ctx);
>> STAP_MARK_NN(spufs_bind_context_old, (int64_t)spu->number,  
>> (int64_t)ctx);
>>
>> And here is my test stp file:
>>
>> probe test.new = kernel.mark("spufs_bind_context_new") { name =  
>> "new" }
>> probe test.old = kernel.mark("spufs_bind_context_old") { name =  
>> "old" }
>> probe test.* { log("marker ".name." hit") }
>>
>> But then, when running stap on this script, none of the two  
>> markers can
>> be found.
>>
>> Am I doing something incorrectly?  Do I have to apply some kind of
>> unofficial patch to either the kernel or systemtap?
>>
>> Thanks, and kudos for this great tool!
>
> Systemtap supports the latest markers patches from the lttng project
> (<http://ltt.polymtl.ca/>).  I've tested the latest cvs systemtap with
> <http://ltt.polymtl.ca/lttng/patch-2.6.24-rc2-lttng-0.10- 
> pre23.tar.bz2>
> and
> <http://ltt.polymtl.ca/lttng/patch-2.6.24-rc3-git1-lttng-0.10- 
> pre33.tar.bz2>
> The current version appears to be:
> <http://ltt.polymtl.ca/lttng/patch-2.6.24-rc3-git3-lttng-0.10- 
> pre36.tar.bz2>
>
> In the version I'm using, markers look like the trace mark example you
> listed above.

Aha!  So all the "fixes" I posted to bug 4446 are useless ;-)

Thanks for the info!

-- 
Julio M. Merino Vidal <jmerino@ac.upc.edu>




More information about the Systemtap mailing list