blob: 2d68e412e5024bd6fc466f0490d2427d9f8bd517 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
LANGUAGE
for/while/break/continue statements
lock (var) { block } (http://tinyurl.com/5rpzg)
"in" predicate / looping construct
/* */ and // comments
builtin functions
varargs/overloaded functions (?)
syntax for dereferencing C structures (http://tinyurl.com/4tpgh)
syntax for embedded C (?)
RUNTIME
lifecycle control (http://tinyurl.com/6ub2a)
better map/string memory management
user-level
dtrace-flavoured utility functions
PROVIDERS
lkst("process_contextswitch")
syscall("name").return
syscall("*")
kernel.function("wait_for_godot")
kernel.function("wait_for_godot").callees
kernel.function("batman").calledfrom("commissioner")
kernel.function("name").line(10)
kernel.source("mempool.c").line(5004)
kernel.address(0xdeadbeef)
kernel.module("driver.ko").function("name").return
kernel.module("cpqarray.ko").jumptable("ida_fops")
kernel.watch("datasymbol").write
user("fche").inode("/bin/vi").function("refresh")
user.inode("/lib/libc.so.6").function("malloc").return
time.real.hz(500)
time.virtual.jiffies(100)
perfcounter("tlbmiss").count(4000)
resource.freemembelow(50) # pages?
begin
end
KPROBES
smp friendliness: no kprobes-wide lock held during probe execution
multiple probes at same address
user-level probe points (via ptrace mechanism?)
OPROFILE/timers
kprobes-like event setting and callback API
|