aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/trace/uprobetracer.txt22
-rw-r--r--arch/Kconfig2
2 files changed, 21 insertions, 3 deletions
diff --git a/Documentation/trace/uprobetracer.txt b/Documentation/trace/uprobetracer.txt
index eae40a003eec..24ce6823a09e 100644
--- a/Documentation/trace/uprobetracer.txt
+++ b/Documentation/trace/uprobetracer.txt
@@ -5,7 +5,7 @@
5Overview 5Overview
6-------- 6--------
7Uprobe based trace events are similar to kprobe based trace events. 7Uprobe based trace events are similar to kprobe based trace events.
8To enable this feature, build your kernel with CONFIG_UPROBE_EVENTS=y. 8To enable this feature, build your kernel with CONFIG_UPROBE_EVENT=y.
9 9
10Similar to the kprobe-event tracer, this doesn't need to be activated via 10Similar to the kprobe-event tracer, this doesn't need to be activated via
11current_tracer. Instead of that, add probe points via 11current_tracer. Instead of that, add probe points via
@@ -68,7 +68,25 @@ in the object. We can see the events that are registered by looking at the
68uprobe_events file. 68uprobe_events file.
69 69
70 # cat uprobe_events 70 # cat uprobe_events
71 p:uprobes/p_zsh_0x46420 /bin/zsh:0x0000000000046420 71 p:uprobes/p_zsh_0x46420 /bin/zsh:0x00046420 arg1=%ip arg2=%ax
72
73The format of events can be seen by viewing the file events/uprobes/p_zsh_0x46420/format
74
75 # cat events/uprobes/p_zsh_0x46420/format
76 name: p_zsh_0x46420
77 ID: 922
78 format:
79 field:unsigned short common_type; offset:0; size:2; signed:0;
80 field:unsigned char common_flags; offset:2; size:1; signed:0;
81 field:unsigned char common_preempt_count; offset:3; size:1; signed:0;
82 field:int common_pid; offset:4; size:4; signed:1;
83 field:int common_padding; offset:8; size:4; signed:1;
84
85 field:unsigned long __probe_ip; offset:12; size:4; signed:0;
86 field:u32 arg1; offset:16; size:4; signed:0;
87 field:u32 arg2; offset:20; size:4; signed:0;
88
89 print fmt: "(%lx) arg1=%lx arg2=%lx", REC->__probe_ip, REC->arg1, REC->arg2
72 90
73Right after definition, each event is disabled by default. For tracing these 91Right after definition, each event is disabled by default. For tracing these
74events, you need to enable it by: 92events, you need to enable it by:
diff --git a/arch/Kconfig b/arch/Kconfig
index 0f8f968015e2..2880abf8a269 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -78,7 +78,7 @@ config OPTPROBES
78 78
79config UPROBES 79config UPROBES
80 bool "Transparent user-space probes (EXPERIMENTAL)" 80 bool "Transparent user-space probes (EXPERIMENTAL)"
81 depends on UPROBE_EVENTS && PERF_EVENTS 81 depends on UPROBE_EVENT && PERF_EVENTS
82 default n 82 default n
83 help 83 help
84 Uprobes is the user-space counterpart to kprobes: they 84 Uprobes is the user-space counterpart to kprobes: they