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