diff options
Diffstat (limited to 'Documentation/trace')
-rw-r--r-- | Documentation/trace/kprobetrace.txt | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/Documentation/trace/kprobetrace.txt b/Documentation/trace/kprobetrace.txt index 9b8f7c6040a7..33f531858c56 100644 --- a/Documentation/trace/kprobetrace.txt +++ b/Documentation/trace/kprobetrace.txt | |||
@@ -36,13 +36,13 @@ Synopsis of kprobe_events | |||
36 | 36 | ||
37 | FETCHARGS : Arguments. Each probe can have up to 128 args. | 37 | FETCHARGS : Arguments. Each probe can have up to 128 args. |
38 | %REG : Fetch register REG | 38 | %REG : Fetch register REG |
39 | sN : Fetch Nth entry of stack (N >= 0) | ||
40 | sa : Fetch stack address. | ||
41 | @ADDR : Fetch memory at ADDR (ADDR should be in kernel) | 39 | @ADDR : Fetch memory at ADDR (ADDR should be in kernel) |
42 | @SYM[+|-offs] : Fetch memory at SYM +|- offs (SYM should be a data symbol) | 40 | @SYM[+|-offs] : Fetch memory at SYM +|- offs (SYM should be a data symbol) |
43 | aN : Fetch function argument. (N >= 0)(*) | 41 | $sN : Fetch Nth entry of stack (N >= 0) |
44 | rv : Fetch return value.(**) | 42 | $sa : Fetch stack address. |
45 | ra : Fetch return address.(**) | 43 | $aN : Fetch function argument. (N >= 0)(*) |
44 | $rv : Fetch return value.(**) | ||
45 | $ra : Fetch return address.(**) | ||
46 | +|-offs(FETCHARG) : Fetch memory at FETCHARG +|- offs address.(***) | 46 | +|-offs(FETCHARG) : Fetch memory at FETCHARG +|- offs address.(***) |
47 | NAME=FETCHARG: Set NAME as the argument name of FETCHARG. | 47 | NAME=FETCHARG: Set NAME as the argument name of FETCHARG. |
48 | 48 | ||
@@ -85,13 +85,13 @@ Usage examples | |||
85 | To add a probe as a new event, write a new definition to kprobe_events | 85 | To add a probe as a new event, write a new definition to kprobe_events |
86 | as below. | 86 | as below. |
87 | 87 | ||
88 | echo p:myprobe do_sys_open dfd=a0 filename=a1 flags=a2 mode=a3 > /sys/kernel/debug/tracing/kprobe_events | 88 | echo p:myprobe do_sys_open dfd=$a0 filename=$a1 flags=$a2 mode=$a3 > /sys/kernel/debug/tracing/kprobe_events |
89 | 89 | ||
90 | This sets a kprobe on the top of do_sys_open() function with recording | 90 | This sets a kprobe on the top of do_sys_open() function with recording |
91 | 1st to 4th arguments as "myprobe" event. As this example shows, users can | 91 | 1st to 4th arguments as "myprobe" event. As this example shows, users can |
92 | choose more familiar names for each arguments. | 92 | choose more familiar names for each arguments. |
93 | 93 | ||
94 | echo r:myretprobe do_sys_open rv ra >> /sys/kernel/debug/tracing/kprobe_events | 94 | echo r:myretprobe do_sys_open $rv $ra >> /sys/kernel/debug/tracing/kprobe_events |
95 | 95 | ||
96 | This sets a kretprobe on the return point of do_sys_open() function with | 96 | This sets a kretprobe on the return point of do_sys_open() function with |
97 | recording return value and return address as "myretprobe" event. | 97 | recording return value and return address as "myretprobe" event. |
@@ -138,11 +138,11 @@ events, you need to enable it. | |||
138 | # TASK-PID CPU# TIMESTAMP FUNCTION | 138 | # TASK-PID CPU# TIMESTAMP FUNCTION |
139 | # | | | | | | 139 | # | | | | | |
140 | <...>-1447 [001] 1038282.286875: myprobe: (do_sys_open+0x0/0xd6) dfd=3 filename=7fffd1ec4440 flags=8000 mode=0 | 140 | <...>-1447 [001] 1038282.286875: myprobe: (do_sys_open+0x0/0xd6) dfd=3 filename=7fffd1ec4440 flags=8000 mode=0 |
141 | <...>-1447 [001] 1038282.286878: myretprobe: (sys_openat+0xc/0xe <- do_sys_open) rv=fffffffffffffffe ra=ffffffff81367a3a | 141 | <...>-1447 [001] 1038282.286878: myretprobe: (sys_openat+0xc/0xe <- do_sys_open) $rv=fffffffffffffffe $ra=ffffffff81367a3a |
142 | <...>-1447 [001] 1038282.286885: myprobe: (do_sys_open+0x0/0xd6) dfd=ffffff9c filename=40413c flags=8000 mode=1b6 | 142 | <...>-1447 [001] 1038282.286885: myprobe: (do_sys_open+0x0/0xd6) dfd=ffffff9c filename=40413c flags=8000 mode=1b6 |
143 | <...>-1447 [001] 1038282.286915: myretprobe: (sys_open+0x1b/0x1d <- do_sys_open) rv=3 ra=ffffffff81367a3a | 143 | <...>-1447 [001] 1038282.286915: myretprobe: (sys_open+0x1b/0x1d <- do_sys_open) $rv=3 $ra=ffffffff81367a3a |
144 | <...>-1447 [001] 1038282.286969: myprobe: (do_sys_open+0x0/0xd6) dfd=ffffff9c filename=4041c6 flags=98800 mode=10 | 144 | <...>-1447 [001] 1038282.286969: myprobe: (do_sys_open+0x0/0xd6) dfd=ffffff9c filename=4041c6 flags=98800 mode=10 |
145 | <...>-1447 [001] 1038282.286976: myretprobe: (sys_open+0x1b/0x1d <- do_sys_open) rv=3 ra=ffffffff81367a3a | 145 | <...>-1447 [001] 1038282.286976: myretprobe: (sys_open+0x1b/0x1d <- do_sys_open) $rv=3 $ra=ffffffff81367a3a |
146 | 146 | ||
147 | 147 | ||
148 | Each line shows when the kernel hits an event, and <- SYMBOL means kernel | 148 | Each line shows when the kernel hits an event, and <- SYMBOL means kernel |