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