Merge tag 'v3.14.25' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / staging / ktap / RELEASES.txt
1 Version 0.4 (Dec 9 2013)
2 -------------------------
3 = Highlight changes from v0.3
4
5    * kernel symbol read (syntax: `symbol_name`)
6
7    * parse symbol on uprobe (need libelf link)
8         trace probe:/lib64/libc.so.6:malloc {}
9         trace probe:/lib64/libc.so.6:malloc%return {}
10         trace probe:/lib64/libc.so.6:* {} # trace all function in glibc
11
12    * support static marker(SDT)
13         trace sdt:/lib64/libc.so.6:setjmp {}
14         trace sdt:/lib64/libc.so.6:* {} # trace all sdt in glibc
15
16    * support kprobe wildcard
17         trace probe:vfs* {}
18
19    * support run multiple ktap instances concurrently
20
21    * add command option for list available events and symbols
22         -le [glob]     : list pre-defined events in system
23         -lf DSO        : list available functions from DSO
24         -lm DSO        : list available sdt notes from DSO
25
26    * better annotation for output of argname
27
28    * basic FFI support (depend on CONFIG_KTAP_FFI)
29         FFI will allow call kernel function from ktap script
30
31         cdef [[ int printk(char *fmt, ...); ]]
32         C.printk("this is ffi printk from ktap\n")
33
34         (currently only support basic C types, structure support is ongoing)
35
36    * New sample scripts
37         userspace/malloc_size_hist.kp
38         userspace/malloc_free.kp
39         userspace/gcc_unwind.kp
40         userspace/glibc_sdt.kp        #trace all static marker in glibc
41         userspace/glibc_trace.kp      #trace all functions in glibc
42         userspace/glibc_func_hist.kp  #show glibc functions in histogram
43         syscalls/syslatl.kp           #syscall latency linear aggregation
44         syscalls/syslist.kp           #syscall latency as a list with counts
45         syscalls/opensnoop.kp         #trace open() syscalls and print basic details
46         ffi/ffi_kmalloc.kp
47         ffi/printk.kp
48         ffi/sched_clock.kp
49
50    * use amalgamation build as default
51         x86_64 build: ktap binary size is 98K, ktapvm.ko size is 983K
52
53    * Big cleanups and lots of bugfix
54
55
56 Version 0.3 (Oct 29 2013)
57 -------------------------
58 = Highlight changes from v0.2
59
60    * Homepage released: www.ktap.org
61
62    * Tutorial: http://www.ktap.org/doc/tutorial.html
63
64    * Wiki: https://github.com/ktap/ktap/wiki
65
66    * simple new tracing block syntax
67         trace EVENTDEF { action }
68         trace_end { action }
69
70    * New event tracing keywords: argevent, argname, arg1..arg9
71         trace "syscalls:*" function () {
72                 print(argevent)
73         }
74
75    * New timer block syntax
76         tick-N { action }
77         profile-N { action }
78
79    * Basic aggregation support
80         It's similar with systemtap, use "<<<" operator
81         support aggregate function: count, sum, avg, max, min
82
83    * Introduce new "+=" operator
84
85    * Introduce sort_paris for table sort iteration
86
87    * New sample scripts
88         helloworld.kp
89         syscalls/sctop.kp
90         profiling/stack_profile.kp
91         io/traceio.kp
92         mem/kmalloc-top.kp
93         syscalls/errinfo.kp
94         schedule/schedtimes.kp
95         game/tetris.kp
96
97    * ansi library for sending ANSI escape sequences
98
99
100    * statistics of ktapvm
101
102    * Big cleanups and lots of bugfix
103
104 Version 0.2 (Jul 31 2013)
105 -------------------------
106
107 = Script highlight changes from v0.1
108
109    * new tracing block syntax
110         trace EVENTDEF function (e) { BODY }
111         trace_end function (e) { BODY }
112
113    * support trace filter
114         trace 'sched:sched_switch /prev_comm == foo || next_comm == foo/
115
116    * support kprobe/kretprobe
117         trace "probe:do_sys_open dfd=%di filename=%dx flags=%cx mode=+4($stack)"
118         trace "probe:do_sys_open%return fd=$retval"
119
120    * support uprobe/uretprobe
121         trace "probe:/lib/libc.so.6:0x000773c0"
122         trace "probe:/lib/libc.so.6:0x000773c0%return"
123
124    * support function tracing
125         trace "ftrace:function /ip == mutex*/"
126
127    * support oneline scripting
128         ktap -e 'trace "syscalls:*" function (e) { print(e) }'
129
130    * specific pid or cpu to tracing
131         ktap -C cpu *.kp
132         ktap -p pid *.kp
133
134    * more sample scripts
135
136    * support calling print_backtrace() in any context
137
138    * support calling exit() in any context
139
140 = Backend highlight changes from v0.1
141
142    * unified perf callback mechanism
143    * use ring buffer transport instead of relayfs
144    * reentrant in ktap tracing
145    * performance boost(use percpu data in many case)
146    * safe table/string manipulation
147    * safe ktap exit
148    * big code cleanups
149    * fixed a lot of bugs, more stable than v0.1
150
151 Version 0.1 (May 21 2013)
152 -------------------------
153
154     https://lwn.net/Articles/551253/
155