aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/trace
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung.kim@lge.com>2013-07-03 05:34:23 -0400
committerSteven Rostedt <rostedt@goodmis.org>2014-01-02 20:56:21 -0500
commitb079d374fd84637aba4b825a329e794990b7b486 (patch)
tree693970c6860735ade0842439ba67cc28a42e1dae /Documentation/trace
parentdcad1a204f72624796ae83359403898d10393b9c (diff)
tracing/uprobes: Add support for full argument access methods
Enable to fetch other types of argument for the uprobes. IOW, we can access stack, memory, deref, bitfield and retval from uprobes now. The format for the argument types are same as kprobes (but @SYMBOL type is not supported for uprobes), i.e: @ADDR : Fetch memory at ADDR $stackN : Fetch Nth entry of stack (N >= 0) $stack : Fetch stack address $retval : Fetch return value +|-offs(FETCHARG) : Fetch memory at FETCHARG +|- offs address Note that the retval only can be used with uretprobes. Original-patch-by: Hyeoncheol Lee <cheol.lee@lge.com> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Acked-by: Oleg Nesterov <oleg@redhat.com> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: zhangwei(Jovi) <jovi.zhangwei@huawei.com> Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: Hyeoncheol Lee <cheol.lee@lge.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Diffstat (limited to 'Documentation/trace')
-rw-r--r--Documentation/trace/uprobetracer.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/Documentation/trace/uprobetracer.txt b/Documentation/trace/uprobetracer.txt
index 8f1a8b8956fc..6e5cff263e2b 100644
--- a/Documentation/trace/uprobetracer.txt
+++ b/Documentation/trace/uprobetracer.txt
@@ -31,6 +31,31 @@ Synopsis of uprobe_tracer
31 31
32 FETCHARGS : Arguments. Each probe can have up to 128 args. 32 FETCHARGS : Arguments. Each probe can have up to 128 args.
33 %REG : Fetch register REG 33 %REG : Fetch register REG
34 @ADDR : Fetch memory at ADDR (ADDR should be in userspace)
35 $stackN : Fetch Nth entry of stack (N >= 0)
36 $stack : Fetch stack address.
37 $retval : Fetch return value.(*)
38 +|-offs(FETCHARG) : Fetch memory at FETCHARG +|- offs address.(**)
39 NAME=FETCHARG : Set NAME as the argument name of FETCHARG.
40 FETCHARG:TYPE : Set TYPE as the type of FETCHARG. Currently, basic types
41 (u8/u16/u32/u64/s8/s16/s32/s64), "string" and bitfield
42 are supported.
43
44 (*) only for return probe.
45 (**) this is useful for fetching a field of data structures.
46
47Types
48-----
49Several types are supported for fetch-args. Uprobe tracer will access memory
50by given type. Prefix 's' and 'u' means those types are signed and unsigned
51respectively. Traced arguments are shown in decimal (signed) or hex (unsigned).
52String type is a special type, which fetches a "null-terminated" string from
53user space.
54Bitfield is another special type, which takes 3 parameters, bit-width, bit-
55offset, and container-size (usually 32). The syntax is;
56
57 b<bit-width>@<bit-offset>/<container-size>
58
34 59
35Event Profiling 60Event Profiling
36--------------- 61---------------