1f2c88b1 |
1 | <html> |
2 | <body> |
e3a30a9e |
3 | <center><big><big>LTTV & LTTng roadmap<small><small></center> |
674fa3b3 |
4 | <br> |
5 | <br> |
5e11a375 |
6 | Here are the roadmaps for the LTTV and LTTng development. I use a priority indice |
fc5993d2 |
7 | for the TODO items :<br> |
90d65afc |
8 | (1) : very high priority<br> |
9 | (10): lowest priority<br> |
fc5993d2 |
10 | <br> |
11 | <br> |
59656e3f |
12 | Dependencies are written between parenthesis ( ).<br> |
13 | The # symbol marks who is currently working on the item.<br> |
14 | <br> |
c8a111eb |
15 | <big>LTTV Roadmap<small><br> |
16 | <br> |
17 | * TODO<br> |
90d65afc |
18 | (4) create a event rate graphical view : Will be useful in conjonction with the |
c8a111eb |
19 | filter.<br> |
4a2e16b7 |
20 | # <A HREF="mailto:Parisa Heidari <parisa.heidari@polymtl.ca>">Parisa Heidari</A><br> |
90d65afc |
21 | (6) migrate align to lttv parser.<br> |
22 | (7) create an analysis of function time (like a precise gprof)<br> |
c8a111eb |
23 | -> with gcc -f inline-functions<br> |
16383052 |
24 | (10) Add cancel button to LTTV filter GUI window. |
c8a111eb |
25 | <br> |
26 | <br> |
0c4b3d55 |
27 | * Done<br> |
d6533ec7 |
28 | per struct (struct align=x) support added to genevent (partial).<br> |
b8b5f119 |
29 | Add offset align generation for structs to genevent.<br> |
81d2643e |
30 | make lttv aware of the per facility long, void* and size_t types.<br> |
31 | Read current trace header and buffer header.<br> |
6da6b02c |
32 | redo lib tracefile : too much problems in there.<br> |
33 | modify the rest of LTTV to match the API changes.<br> |
34 | debian package<br> |
35 | RPM package<br> |
0c4b3d55 |
36 | <br> |
c8a111eb |
37 | <big>LTT Next Generation Roadmap<small><br> |
0c4b3d55 |
38 | <br> |
c8a111eb |
39 | * TODO<br> |
145c9c57 |
40 | (1) add genevent full functionnality : alignment, array, sequences, nested |
41 | structures.<br> |
3bb20f01 |
42 | # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>>">Mathieu Desnoyers</A><br> |
145c9c57 |
43 | (1) port LTTng to 2.6.14 kernel. (depends on genevent rewrite)<br> |
90d65afc |
44 | (2) add efficient and secure user space tracing. (1 month)<br> |
45 | (3) integrate LTTng State Dump : missing irq and process state.<br> |
4a2e16b7 |
46 | # <A HREF="mailto:Jean-Hugues Deschenes <jean-hugues.deschenes@polymtl.ca>">Jean-Hugues Deschenes</A><br> |
90d65afc |
47 | (7) add gcc -finstrument-functions instrumentation<br> |
821acb2b |
48 | (3) port LTTng to x86_64, PPC, alpha, user-mode Linux, Xen, MIPS, ARM, S/390. |
145c9c57 |
49 | (depends on 2.6.14 port) |
0c4b3d55 |
50 | <br> |
15e89ad6 |
51 | <br> |
b720b182 |
52 | * Done<br> |
b720b182 |
53 | remove ltt-headers.h<br> |
54 | remove ltt-log.h<br> |
c9eaf4ed |
55 | Put trace->active later in _ltt_trace_start()<br> |
56 | ltt_trace_create() remove sleep in spinlock use GFP_ATOMIC kmalloc<br> |
1502fa62 |
57 | Fix the locking of module hooks.<br> |
58 | Fix the traps -> disable nested logging for now.<br> |
59 | Use per cpu spinlock on trace list.<br> |
24c78300 |
60 | Finish the control module, libltt and lttctl : netlink interface<br> |
baffa645 |
61 | Finish integrating lttctl with lttd.<br> |
ada84671 |
62 | fix lttctl signal waiting : use a flag.<br> |
4e4d11b3 |
63 | Add ltt_write_commit_counter call to genevent.<br> |
24c78300 |
64 | Add information in the buffer header : buffer size, etc etc...<br> |
65 | -> this information is so small that we can repeat it. Makes flight recorder |
66 | easier to decode.<br> |
4e4d11b3 |
67 | Add trace start structure to buffer start header.<br> |
ada84671 |
68 | fix genevent : take no lock if num traces active is 0.<br> |
4e4d11b3 |
69 | Add type information per facility : it will help having a standard way |
70 | to understand information coming from both kernel space and user space, and deal |
71 | easily with 64 bits kernel with 64 and 32 bits processes (and with size_t know |
72 | at compile time which can differ inside the same process from one library to |
73 | another).<br> |
74 | fix structures alignment, array and sequences too. -> trace dynamic.<br> |
75 | add per facility alignment (inside structures).<br> |
76 | add control of alignment.<br> |
0c4b3d55 |
77 | add control for subbuffer size and number of subbuffers.<br> |
b6dfdc9c |
78 | Add reserve - get TSC - alignment atomicity through the use of cmpxchg.<br> |
79 | Add configurable alignment (LTT_ALIGNMENT).<br> |
6da6b02c |
80 | Get ultra-precise logging with use of TSC (only) : only one do_gettimeofday |
81 | read, and then we don't want the time flow to be altered by ntp.<br> |
82 | Debian kernel package<br> |
145c9c57 |
83 | make LTT tracing code completely atomic (thus remove locks)<br> |
84 | Buffer aligned on page boundary -> use valloc.<br> |
0c4b3d55 |
85 | <br> |
86 | <br> |
b720b182 |
87 | <br> |
88 | * TODO (low priority)<br> |
cbe85414 |
89 | enhance RPM packages for lttng kernel<br> |
b720b182 |
90 | Integrate header generation (genevent) in kernel build system.<br> |
c9eaf4ed |
91 | Multithreaded lttd.<br> |
baffa645 |
92 | Find a different way to printk from instrumentation : forbidden from schedule |
93 | and wakeup (causes a deadlock).<br> |
b720b182 |
94 | <br> |
15e89ad6 |
95 | * Need to be discussed<br> |
b720b182 |
96 | Drop ltt-module-register and ltt-module-unregister, use exported variables.<br> |
97 | RelayFS ioctl interface vs control through LTT netlink interface.<br> |
98 | drop ltt_filter_control, use functions pointers instead.<br> |
b720b182 |
99 | Merge facilities headers into one big header.<br> |
100 | Change the name of XML files from XML to something else.<br> |
101 | Remove ltt-base.c.<br> |
102 | <br> |
15e89ad6 |
103 | * Not planned for integration<br> |
4f782cda |
104 | Remove the callback struct from the trace struct.<br> |
15e89ad6 |
105 | <br> |
106 | <br> |
b720b182 |
107 | <br> |
81d2643e |
108 | * lttng patch division (0.4.2+) :<br> |
b720b182 |
109 | <br> |
110 | ltt-instrumentation.diff<br> |
b720b182 |
111 | ltt-facilities-headers.diff<br> |
112 | ltt-facilities-loader.diff<br> |
113 | ltt-facilities.diff<br> |
b720b182 |
114 | ltt-relayfs.diff<br> |
b720b182 |
115 | ltt-core.diff<br> |
116 | <br> |
117 | <br> |
118 | Mathieu Desnoyers<br> |
1f2c88b1 |
119 | |
120 | |
121 | </body> |
122 | </html> |