3 <center><big><big>LTTV & LTTng roadmap
<small><small></center>
6 Here are the roadmaps for the LTTV and LTTng development. I use a priority indice
7 for the TODO items :
<br>
8 (
1) : very high priority
<br>
9 (
10): lowest priority
<br>
12 Dependencies are written between parenthesis ( ).
<br>
13 The # symbol marks who is currently working on the item.
<br>
14 The % symbol marks who is interested in the realisation of the item.
<br>
16 <big>LTTV Roadmap
<small><br>
19 (
4) create a event rate graphical view : Will be useful in conjonction with the
21 #
<A HREF=
"mailto:Parisa Heidari <parisa.heidari@polymtl.ca>">Parisa Heidari
</A><br>
22 (
6) migrate align to lttv parser.
<br>
23 (
7) create an analysis of function time (like a precise gprof)
<br>
24 -
> with gcc -f inline-functions
<br>
25 (
10) Add cancel button to LTTV filter GUI window.
29 per struct (struct align=x) support added to genevent (partial).
<br>
30 Add offset align generation for structs to genevent.
<br>
31 make lttv aware of the per facility long, void* and size_t types.
<br>
32 Read current trace header and buffer header.
<br>
33 redo lib tracefile : too much problems in there.
<br>
34 modify the rest of LTTV to match the API changes.
<br>
38 <big>LTT Next Generation Roadmap
<small><br>
41 (
1) add genevent full functionnality : alignment, array, sequences, nested
43 #
<A HREF=
"mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>>">Mathieu Desnoyers
</A><br>
44 (
1) port LTTng to
2.6.14 kernel. (depends on genevent rewrite)
<br>
45 (
2) add efficient and secure user space tracing. (
1 month)
<br>
46 (
3) integrate LTTng State Dump : missing irq and process state.
<br>
47 #
<A HREF=
"mailto:Jean-Hugues Deschenes <jean-hugues.deschenes@polymtl.ca>">Jean-Hugues Deschenes
</A><br>
48 (
7) add gcc -finstrument-functions instrumentation
<br>
49 (
3) port LTTng to : (depends on
2.6.14 port)
<br>
51 #Autodesk
<A HREF=
"mailto:Francois L'Archeveque <fla@discreet.com>">François
52 L'Archêveque
</A> for
2.6.9 RedHat Enterprise
<BR>
53 %Wind River for
2.6.10<BR>
56 %Wind River for
2.6.10<BR>
62 %Wind River for
2.6.10<BR>
68 remove ltt-headers.h
<br>
70 Put trace-
>active later in _ltt_trace_start()
<br>
71 ltt_trace_create() remove sleep in spinlock use GFP_ATOMIC kmalloc
<br>
72 Fix the locking of module hooks.
<br>
73 Fix the traps -
> disable nested logging for now.
<br>
74 Use per cpu spinlock on trace list.
<br>
75 Finish the control module, libltt and lttctl : netlink interface
<br>
76 Finish integrating lttctl with lttd.
<br>
77 fix lttctl signal waiting : use a flag.
<br>
78 Add ltt_write_commit_counter call to genevent.
<br>
79 Add information in the buffer header : buffer size, etc etc...
<br>
80 -
> this information is so small that we can repeat it. Makes flight recorder
82 Add trace start structure to buffer start header.
<br>
83 fix genevent : take no lock if num traces active is
0.
<br>
84 Add type information per facility : it will help having a standard way
85 to understand information coming from both kernel space and user space, and deal
86 easily with
64 bits kernel with
64 and
32 bits processes (and with size_t know
87 at compile time which can differ inside the same process from one library to
89 fix structures alignment, array and sequences too. -
> trace dynamic.
<br>
90 add per facility alignment (inside structures).
<br>
91 add control of alignment.
<br>
92 add control for subbuffer size and number of subbuffers.
<br>
93 Add reserve - get TSC - alignment atomicity through the use of cmpxchg.
<br>
94 Add configurable alignment (LTT_ALIGNMENT).
<br>
95 Get ultra-precise logging with use of TSC (only) : only one do_gettimeofday
96 read, and then we don't want the time flow to be altered by ntp.
<br>
97 Debian kernel package
<br>
98 make LTT tracing code completely atomic (thus remove locks)
<br>
99 Buffer aligned on page boundary -
> use valloc.
<br>
103 * TODO (low priority)
<br>
104 enhance RPM packages for lttng kernel
<br>
105 Integrate header generation (genevent) in kernel build system.
<br>
106 Multithreaded lttd.
<br>
107 Find a different way to printk from instrumentation : forbidden from schedule
108 and wakeup (causes a deadlock).
<br>
110 * Need to be discussed
<br>
111 Drop ltt-module-register and ltt-module-unregister, use exported variables.
<br>
112 RelayFS ioctl interface vs control through LTT netlink interface.
<br>
113 drop ltt_filter_control, use functions pointers instead.
<br>
114 Merge facilities headers into one big header.
<br>
115 Change the name of XML files from XML to something else.
<br>
116 Remove ltt-base.c.
<br>
118 * Not planned for integration
<br>
119 Remove the callback struct from the trace struct.
<br>
123 * lttng patch division (
0.4.2+) :
<br>
125 ltt-instrumentation.diff
<br>
126 ltt-facilities-headers.diff
<br>
127 ltt-facilities-loader.diff
<br>
128 ltt-facilities.diff
<br>
133 Mathieu Desnoyers
<br>