[ltt-dev] LTTng userspace tracing

Pierre-Marc Fournier pierre-marc.fournier at polymtl.ca
Tue May 19 10:51:20 EDT 2009


Andrew McDermott wrote:
> Hi,
> 
>> * Andrew McDermott (andrew.mcdermott at windriver.com) wrote:
>>> Hi Mathieu,
>>>
>>>> * Andrew McDermott (andrew.mcdermott at windriver.com) wrote:
>>>>> Hi,
>>>>>
>>>>> I was reading:
>>>>>
>>>>>     http://ltt.polymtl.ca/svn/trunk/lttv/doc/developer/ust.html 
>>>>>
>>>>> and wondered if there was an implementation based on this design.  I had
>>>>> a poke around the SVN repo but it wasn't clear to me if this directory:
>>>>>
>>>>>     http://ltt.polymtl.ca/svn/trunk/markers-userspace/
>>>>>
>>>>> was related.
>>>>>
>>>> Hi Andrew,
>>>>
>>>> Yes, we have a working userspace implementation, but we are clearing out
>>>> the last details involved with distributing it under the LGPL license.
>>>> There are a few GPL dependencies we are taking care of.
>>>>
>>>> E.g., we just had the OK from IBM to re-license their contribution to my
>>>> userspace RCU library to LGPL, which was the most important piece of the
>>>> puzzle. The rest is mostly atomic operations and a rcu list iteration.
>>>>
>>>> And the last thing we would want is people to think that we are
>>>> distributing the userspace tracing library under a license too
>>>> restrictive for their use.
>>>>
>>>> Second answer : the markers-userspace directory content has been re-used
>>>> in the implementation I think, but has been repackaged. I am putting
>>>> Pierre-Marc in CC, who did the userspace tracing port of LTTng.

No, the markers-userspace was not used. Markers were ported directly 
from the kernel code.

>>> Thanks.
>>>
>>> One more question: is it feasible (within reason) for me to backport
>>> this to say linux-2.6.14 or linux-2.6.21.
>>>
>> Sure, there is almost no external dependency. Except for trace clocks
>> maybe, whenever we would need to implement them through vDSO pages.
> 
> There is no dependency to the version of LTTng either?  I'm looking at a
> backport to ltt-0.8.82.

The only "dependency" to LTTng is the trace format. The userspace tracer 
produces traces in the current LTTng trace format. If you don't wish to 
merge user traces with kernel traces, then there is no dependency. You 
just use an old version of lttv for your kernel traces and a new version 
of lttv for your user traces. If you wish to do such a merging, then you 
need to backport the userspace tracer to output traces in the old format.

pmf




More information about the lttng-dev mailing list