[ltt-dev] TODO list before releasing LTTng-buffering to LKML

Mathieu Desnoyers compudj at krystal.dyndns.org
Wed Oct 8 22:21:01 EDT 2008


* Mathieu Desnoyers (compudj at krystal.dyndns.org) wrote:
> Hi!
> 
> Just to keep you posted on the current development, this is what is left
> on my roadmap before I post a minimal LTTng (only the timestamping,
> event ID management and buffering) to LKML :
> 
> Todo list before posting LTTng-buffering to LKML
> 
> - Create a simplified ltt-relay (use interrupt disable instead of
>   lockless algo)

I implemented this one yesterday night. Basically, it's the original
lockless scheme, except that it uses only standard variables (no atomic
or local atomic ops) and it also uses a per-buffer spinlock (because
readers can be on different cpus) and interrupt disable. Here are the
performance results : they are not that far from the lockless scheme. It
adds about 1% performance hit on tbench on the x86_64 over the lockless
scheme. See lttng-transport-locked.patch in LTTng 0.36 for details.

Performance tests, tbench, flight recorder trace, default instrumentation

Dual quad-core x86_64, 2.0GHz

Instrumentation dynamically disabled :                           1883.09 MB/s
Markers connected :                                              1812.14 MB/s
Lockless scheme, flight recorder :                                925.68 MB/s
Per-cpu-buffer spinlock and interrupt disable, flight recorder :  871.78 MB/s
Global spinlock and interrupt disable, flight recorder :          153.74 MB/s


Single Core Pentium 4, noreplace-smp, 3.0GHz

Instrumentation dynamically disabled :                            146.85 MB/s
Markers connected :                                               144.32 MB/s
Lockless scheme, flight recorder :                                 89.59 MB/s
Per-cpu-buffer spinlock and interrupt disable, flight recorder :   86.05 MB/s

Mathieu

> - merge a simplified lttv in lttng
> 
> 
> Todo list after posting first LTTng-buffering release to LKML :
> 
> - assign marker IDs per channel
> - switch ltt-control.ko (currently over netlink) to debugfs
> - switch marker list (and marker activation (currently in /proc/ltt) to debugfs
>   Marker directory. One file per marker.
> - Create a ltt-ascii.ko kernel module which merge-sorts the buffers and exports
>   them to userspace through a debugfs file.
> 
> If some of you are interested to work on any of these, you are welcome.
> I'll be glad to post more details about these items upon request.
> 
> Mathieu
> 
> -- 
> Mathieu Desnoyers
> OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
> 
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68




More information about the lttng-dev mailing list