Here the status of the work in progress for LTT experimental

* 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.


* TODO
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 user space tracing.



* 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.



* Next experimental release patch division :

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


Mathieu Desnoyers