X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fdoc%2Fdeveloper%2Fltt-experimental-rewrite.html;h=528b7b5a670fe17d7ddacfaac74ce61d5db04ad1;hb=c8a111ebf95533e838874e6ca12d778ba1116f02;hp=eb67d66db9f06b58da25925f5043feeec573eb83;hpb=4f782cdac7d5e5ea86a34629eb1da5d0b4338416;p=lttv.git diff --git a/ltt/branches/poly/doc/developer/ltt-experimental-rewrite.html b/ltt/branches/poly/doc/developer/ltt-experimental-rewrite.html index eb67d66d..528b7b5a 100644 --- a/ltt/branches/poly/doc/developer/ltt-experimental-rewrite.html +++ b/ltt/branches/poly/doc/developer/ltt-experimental-rewrite.html @@ -1,23 +1,69 @@ -Here the status of the work in progress for LTT experimental
+LTTV Roadmap
+
+* TODO
+migrate align to lttv parser.
+create a event rate graphical view : Will be useful in conjonction with the + filter.
+create an analysis of function time (like a precise gprof)
+ -> with gcc -f inline-functions
+
+
+* Done
+Buffer aligned on page boundary -> use valloc.
+per struct (struct align=x) support added to genevent (partial).
+Add offset align generation for structs to genevent.
+make lttv aware of the per facility long, void* and size_t types.
+Read current trace header and buffer header.
+
+LTT Next Generation Roadmap
+
+* TODO
+make LTT tracing code completely atomic (thus remove locks)
+add efficient and secure user space tracing. (1 month)
+integrate LTTng State Dump : missing irq and process state.
+add genevent full functionnality : alignment, array, sequences, nested +structures.
+add gcc -finstrument-functions instrumentation
+

* Done
remove ltt-headers.h
remove ltt-log.h
Put trace->active later in _ltt_trace_start()
ltt_trace_create() remove sleep in spinlock use GFP_ATOMIC kmalloc
-
-
-* TODO
Fix the locking of module hooks.
-Per cpu read lock on trace structure OR use list rcu.
+Fix the traps -> disable nested logging for now.
+Use per cpu spinlock on trace list.
+Finish the control module, libltt and lttctl : netlink interface
+Finish integrating lttctl with lttd.
+fix lttctl signal waiting : use a flag.
+Add ltt_write_commit_counter call to genevent.
+Add information in the buffer header : buffer size, etc etc...
+ -> this information is so small that we can repeat it. Makes flight recorder + easier to decode.
+Add trace start structure to buffer start header.
+fix genevent : take no lock if num traces active is 0.
+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).
+fix structures alignment, array and sequences too. -> trace dynamic.
+add per facility alignment (inside structures).
+add control of alignment.
+add control for subbuffer size and number of subbuffers.
+Add reserve - get TSC - alignment atomicity through the use of cmpxchg.
+Add configurable alignment (LTT_ALIGNMENT).



* TODO (low priority)
Integrate header generation (genevent) in kernel build system.
Multithreaded lttd.
+Find a different way to printk from instrumentation : forbidden from schedule +and wakeup (causes a deadlock).

* Need to be discussed
Drop ltt-module-register and ltt-module-unregister, use exported variables.
@@ -32,16 +78,13 @@ Remove the callback struct from the trace struct.



-* Next experimental release patch division :
+* lttng patch division (0.4.2+) :

ltt-instrumentation.diff
- - ltt-configmenu.diff (put in ltt-core.diff)
ltt-facilities-headers.diff
ltt-facilities-loader.diff
ltt-facilities.diff
-ltt-instrumentation.diff
ltt-relayfs.diff
-ltt-time.diff
ltt-core.diff