todo update
[lttv.git] / ltt / branches / poly / doc / developer / ltt-experimental-rewrite.html
CommitLineData
1f2c88b1 1<html>
2<body>
fc5993d2 3<center>LTTV & LTTng roadmap</center>
4Here are roadmaps for the LTTV and LTTng development. I use a priority indice
5for the TODO items :<br>
61 : very high priority<br>
710: lowest priority<br>
8<br>
9<br>
c8a111eb 10<big>LTTV Roadmap<small><br>
11<br>
12* TODO<br>
13migrate align to lttv parser.<br>
14create a event rate graphical view : Will be useful in conjonction with the
15 filter.<br>
16create an analysis of function time (like a precise gprof)<br>
17 -> with gcc -f inline-functions<br>
18<br>
19<br>
0c4b3d55 20* Done<br>
3490c00c 21Buffer aligned on page boundary -> use valloc.<br>
d6533ec7 22per struct (struct align=x) support added to genevent (partial).<br>
b8b5f119 23Add offset align generation for structs to genevent.<br>
81d2643e 24make lttv aware of the per facility long, void* and size_t types.<br>
25Read current trace header and buffer header.<br>
0c4b3d55 26<br>
c8a111eb 27<big>LTT Next Generation Roadmap<small><br>
0c4b3d55 28<br>
c8a111eb 29* TODO<br>
30make LTT tracing code completely atomic (thus remove locks)<br>
31add efficient and secure user space tracing. (1 month)<br>
32integrate LTTng State Dump : missing irq and process state.<br>
33add genevent full functionnality : alignment, array, sequences, nested
34structures.<br>
35add gcc -finstrument-functions instrumentation<br>
0c4b3d55 36<br>
15e89ad6 37<br>
b720b182 38* Done<br>
b720b182 39remove ltt-headers.h<br>
40remove ltt-log.h<br>
c9eaf4ed 41Put trace->active later in _ltt_trace_start()<br>
42ltt_trace_create() remove sleep in spinlock use GFP_ATOMIC kmalloc<br>
1502fa62 43Fix the locking of module hooks.<br>
44Fix the traps -> disable nested logging for now.<br>
45Use per cpu spinlock on trace list.<br>
24c78300 46Finish the control module, libltt and lttctl : netlink interface<br>
baffa645 47Finish integrating lttctl with lttd.<br>
ada84671 48fix lttctl signal waiting : use a flag.<br>
4e4d11b3 49Add ltt_write_commit_counter call to genevent.<br>
24c78300 50Add information in the buffer header : buffer size, etc etc...<br>
51 -> this information is so small that we can repeat it. Makes flight recorder
52 easier to decode.<br>
4e4d11b3 53Add trace start structure to buffer start header.<br>
ada84671 54fix genevent : take no lock if num traces active is 0.<br>
4e4d11b3 55Add type information per facility : it will help having a standard way
56to understand information coming from both kernel space and user space, and deal
57easily with 64 bits kernel with 64 and 32 bits processes (and with size_t know
58at compile time which can differ inside the same process from one library to
59another).<br>
60fix structures alignment, array and sequences too. -> trace dynamic.<br>
61add per facility alignment (inside structures).<br>
62add control of alignment.<br>
0c4b3d55 63add control for subbuffer size and number of subbuffers.<br>
b6dfdc9c 64Add reserve - get TSC - alignment atomicity through the use of cmpxchg.<br>
65Add configurable alignment (LTT_ALIGNMENT).<br>
0c4b3d55 66<br>
67<br>
b720b182 68<br>
69* TODO (low priority)<br>
b720b182 70Integrate header generation (genevent) in kernel build system.<br>
c9eaf4ed 71Multithreaded lttd.<br>
baffa645 72Find a different way to printk from instrumentation : forbidden from schedule
73and wakeup (causes a deadlock).<br>
b720b182 74<br>
15e89ad6 75* Need to be discussed<br>
b720b182 76Drop ltt-module-register and ltt-module-unregister, use exported variables.<br>
77RelayFS ioctl interface vs control through LTT netlink interface.<br>
78drop ltt_filter_control, use functions pointers instead.<br>
b720b182 79Merge facilities headers into one big header.<br>
80Change the name of XML files from XML to something else.<br>
81Remove ltt-base.c.<br>
82<br>
15e89ad6 83* Not planned for integration<br>
4f782cda 84Remove the callback struct from the trace struct.<br>
15e89ad6 85<br>
86<br>
b720b182 87<br>
81d2643e 88* lttng patch division (0.4.2+) :<br>
b720b182 89<br>
90ltt-instrumentation.diff<br>
b720b182 91ltt-facilities-headers.diff<br>
92ltt-facilities-loader.diff<br>
93ltt-facilities.diff<br>
b720b182 94ltt-relayfs.diff<br>
b720b182 95ltt-core.diff<br>
96<br>
97<br>
98Mathieu Desnoyers<br>
1f2c88b1 99
100
101</body>
102</html>
This page took 0.029526 seconds and 4 git commands to generate.