aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/trace
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/trace')
-rw-r--r--Documentation/trace/kprobetrace.txt34
1 files changed, 16 insertions, 18 deletions
diff --git a/Documentation/trace/kprobetrace.txt b/Documentation/trace/kprobetrace.txt
index 15415243a9a3..47aabeebbdf6 100644
--- a/Documentation/trace/kprobetrace.txt
+++ b/Documentation/trace/kprobetrace.txt
@@ -1,26 +1,23 @@
1 Kprobe-based Event Tracer 1 Kprobe-based Event Tracing
2 ========================= 2 ==========================
3 3
4 Documentation is written by Masami Hiramatsu 4 Documentation is written by Masami Hiramatsu
5 5
6 6
7Overview 7Overview
8-------- 8--------
9This tracer is similar to the events tracer which is based on Tracepoint 9These events are similar to tracepoint based events. Instead of Tracepoint,
10infrastructure. Instead of Tracepoint, this tracer is based on kprobes(kprobe 10this is based on kprobes (kprobe and kretprobe). So it can probe wherever
11and kretprobe). It probes anywhere where kprobes can probe(this means, all 11kprobes can probe (this means, all functions body except for __kprobes
12functions body except for __kprobes functions). 12functions). Unlike the Tracepoint based event, this can be added and removed
13dynamically, on the fly.
13 14
14Unlike the function tracer, this tracer can probe instructions inside of 15To enable this feature, build your kernel with CONFIG_KPROBE_TRACING=y.
15kernel functions. It allows you to check which instruction has been executed.
16 16
17Unlike the Tracepoint based events tracer, this tracer can add and remove 17Similar to the events tracer, this doesn't need to be activated via
18probe points on the fly. 18current_tracer. Instead of that, add probe points via
19 19/sys/kernel/debug/tracing/kprobe_events, and enable it via
20Similar to the events tracer, this tracer doesn't need to be activated via 20/sys/kernel/debug/tracing/events/kprobes/<EVENT>/enabled.
21current_tracer, instead of that, just set probe points via
22/sys/kernel/debug/tracing/kprobe_events. And you can set filters on each
23probe events via /sys/kernel/debug/tracing/events/kprobes/<EVENT>/filter.
24 21
25 22
26Synopsis of kprobe_events 23Synopsis of kprobe_events
@@ -55,9 +52,9 @@ Per-Probe Event Filtering
55------------------------- 52-------------------------
56 Per-probe event filtering feature allows you to set different filter on each 53 Per-probe event filtering feature allows you to set different filter on each
57probe and gives you what arguments will be shown in trace buffer. If an event 54probe and gives you what arguments will be shown in trace buffer. If an event
58name is specified right after 'p:' or 'r:' in kprobe_events, the tracer adds 55name is specified right after 'p:' or 'r:' in kprobe_events, it adds an event
59an event under tracing/events/kprobes/<EVENT>, at the directory you can see 56under tracing/events/kprobes/<EVENT>, at the directory you can see 'id',
60'id', 'enabled', 'format' and 'filter'. 57'enabled', 'format' and 'filter'.
61 58
62enabled: 59enabled:
63 You can enable/disable the probe by writing 1 or 0 on it. 60 You can enable/disable the probe by writing 1 or 0 on it.
@@ -71,6 +68,7 @@ filter:
71id: 68id:
72 This shows the id of this probe event. 69 This shows the id of this probe event.
73 70
71
74Event Profiling 72Event Profiling
75--------------- 73---------------
76 You can check the total number of probe hits and probe miss-hits via 74 You can check the total number of probe hits and probe miss-hits via