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=99456e355400fd3c585d497870247beaa7da9caf;hpb=1f2c88b175ce5133cecf311150f81b4746642985;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 99456e35..528b7b5a 100644 --- a/ltt/branches/poly/doc/developer/ltt-experimental-rewrite.html +++ b/ltt/branches/poly/doc/developer/ltt-experimental-rewrite.html @@ -1,25 +1,94 @@ -Here the status of the work in progress for LTT experimental - -* TODO - - - - -* Need to be discussed - - - - - -* Not planned for integration - - - - - -Mathieu Desnoyers +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
+Fix the locking of module hooks.
+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.
+RelayFS ioctl interface vs control through LTT netlink interface.
+drop ltt_filter_control, use functions pointers instead.
+Merge facilities headers into one big header.
+Change the name of XML files from XML to something else.
+Remove ltt-base.c.
+
+* Not planned for integration
+Remove the callback struct from the trace struct.
+
+
+
+* lttng patch division (0.4.2+) :
+
+ltt-instrumentation.diff
+ltt-facilities-headers.diff
+ltt-facilities-loader.diff
+ltt-facilities.diff
+ltt-relayfs.diff
+ltt-core.diff
+
+
+Mathieu Desnoyers