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