todo update
[lttv.git] / ltt / branches / poly / doc / developer / ltt-experimental-rewrite.html
index 6e8805fa279527b7e37ee07068c949bf61b2ec9c..c9eb8ffa25a5957fcdc4c494402241cddd8a3cdb 100644 (file)
@@ -1,6 +1,41 @@
 <html>
 <body>
-Here the status of the work in progress for LTT experimental<br>
+<center><big><big>LTTV & LTTng roadmap<small><small></center>
+<br>
+<br>
+Here are the roadmaps for the LTTV and LTTng development. I use a priority indice
+for the TODO items :<br>
+(1) : very high priority<br>
+(10): lowest priority<br>
+<br>
+<br>
+<big>LTTV Roadmap<small><br>
+<br>
+* TODO<br>
+(4) create a event rate graphical view : Will be useful in conjonction with the
+  filter.<br>
+(6) migrate align to lttv parser.<br>
+(7) create an analysis of function time (like a precise gprof)<br>
+  -> with gcc -f inline-functions<br>
+<br>
+<br>
+* Done<br>
+Buffer aligned on page boundary -> use valloc.<br>
+per struct (struct align=x) support added to genevent (partial).<br>
+Add offset align generation for structs to genevent.<br>
+make lttv aware of the per facility long, void* and size_t types.<br>
+Read current trace header and buffer header.<br>
+<br>
+<big>LTT Next Generation Roadmap<small><br>
+<br>
+* TODO<br>
+(1) make LTT tracing code completely atomic (thus remove locks)<br>
+(2) add efficient and secure user space tracing. (1 month)<br>
+(3) integrate LTTng State Dump : missing irq and process state.<br>
+(9) add genevent full functionnality : alignment, array, sequences, nested
+structures.<br>
+(7) add gcc -finstrument-functions instrumentation<br>
+<br>
 <br>
 * Done<br>
 remove ltt-headers.h<br>
@@ -10,16 +45,34 @@ ltt_trace_create() remove sleep in spinlock use GFP_ATOMIC kmalloc<br>
 Fix the locking of module hooks.<br>
 Fix the traps -> disable nested logging for now.<br>
 Use per cpu spinlock on trace list.<br>
-<br>
-<br>
-* TODO<br>
 Finish the control module, libltt and lttctl : netlink interface<br>
+Finish integrating lttctl with lttd.<br>
+fix lttctl signal waiting : use a flag.<br>
+Add ltt_write_commit_counter call to genevent.<br>
+Add information in the buffer header : buffer size, etc etc...<br>
+       -> this information is so small that we can repeat it. Makes flight recorder
+       easier to decode.<br>
+Add trace start structure to buffer start header.<br>
+fix genevent : take no lock if num traces active is 0.<br>
+Add type information per facility : it will help having a standard way
+to understand information coming from both kernel space and user space, and deal
+easily with 64 bits kernel with 64 and 32 bits processes (and with size_t know
+at compile time which can differ inside the same process from one library to
+another).<br>
+fix structures alignment, array and sequences too. -> trace dynamic.<br>
+add per facility alignment (inside structures).<br>
+add control of alignment.<br>
+add control for subbuffer size and number of subbuffers.<br>
+Add reserve - get TSC - alignment atomicity through the use of cmpxchg.<br>
+Add configurable alignment (LTT_ALIGNMENT).<br>
 <br>
 <br>
 <br>
 * TODO (low priority)<br>
 Integrate header generation (genevent) in kernel build system.<br>
 Multithreaded lttd.<br>
+Find a different way to printk from instrumentation : forbidden from schedule
+and wakeup (causes a deadlock).<br>
 <br>
 * Need to be discussed<br>
 Drop ltt-module-register and ltt-module-unregister, use exported variables.<br>
@@ -34,16 +87,13 @@ Remove the callback struct from the trace struct.<br>
 <br>
 <br>
 <br>
-* Next experimental release patch division :<br>
+* lttng patch division (0.4.2+) :<br>
 <br>
 ltt-instrumentation.diff<br>
-        - ltt-configmenu.diff (put in ltt-core.diff)<br>
 ltt-facilities-headers.diff<br>
 ltt-facilities-loader.diff<br>
 ltt-facilities.diff<br>
-ltt-instrumentation.diff<br>
 ltt-relayfs.diff<br>
-ltt-time.diff<br>
 ltt-core.diff<br>
 <br>
 <br>
This page took 0.023907 seconds and 4 git commands to generate.