diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-10-20 06:52:02 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2014-11-03 14:15:46 -0500 |
commit | d20058f67405981a81344e6fec93f6f557fb96a2 (patch) | |
tree | 1ef29875e4b7758e2a38adbddb8b4dcf7d3daa7b | |
parent | e7dbb48958897c0a80b14250a981a563d9160e4d (diff) |
ftracetest: Add kprobes on ftrace testcase
Add a kprobes on ftrace testcase. The testcase verifies that
- enabling and disabling function tracing works on a function which
already contains a dynamic kprobe
- adding and removing a dynamic kprobe works on a function which is
already enabled for function tracing
Link: http://lkml.kernel.org/p/1413802323-5297-2-git-send-email-heiko.carstens@de.ibm.com
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc new file mode 100644 index 000000000000..ab41d2b29841 --- /dev/null +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc | |||
@@ -0,0 +1,55 @@ | |||
1 | #!/bin/sh | ||
2 | # description: Kprobe dynamic event with function tracer | ||
3 | |||
4 | [ -f kprobe_events ] || exit_unsupported # this is configurable | ||
5 | grep function available_tracers || exit_unsupported # this is configurable | ||
6 | |||
7 | # prepare | ||
8 | echo nop > current_tracer | ||
9 | echo do_fork > set_ftrace_filter | ||
10 | echo 0 > events/enable | ||
11 | echo > kprobe_events | ||
12 | echo 'p:testprobe do_fork' > kprobe_events | ||
13 | |||
14 | # kprobe on / ftrace off | ||
15 | echo 1 > events/kprobes/testprobe/enable | ||
16 | echo > trace | ||
17 | ( echo "forked") | ||
18 | grep testprobe trace | ||
19 | ! grep 'do_fork <-' trace | ||
20 | |||
21 | # kprobe on / ftrace on | ||
22 | echo function > current_tracer | ||
23 | echo > trace | ||
24 | ( echo "forked") | ||
25 | grep testprobe trace | ||
26 | grep 'do_fork <-' trace | ||
27 | |||
28 | # kprobe off / ftrace on | ||
29 | echo 0 > events/kprobes/testprobe/enable | ||
30 | echo > trace | ||
31 | ( echo "forked") | ||
32 | ! grep testprobe trace | ||
33 | grep 'do_fork <-' trace | ||
34 | |||
35 | # kprobe on / ftrace on | ||
36 | echo 1 > events/kprobes/testprobe/enable | ||
37 | echo function > current_tracer | ||
38 | echo > trace | ||
39 | ( echo "forked") | ||
40 | grep testprobe trace | ||
41 | grep 'do_fork <-' trace | ||
42 | |||
43 | # kprobe on / ftrace off | ||
44 | echo nop > current_tracer | ||
45 | echo > trace | ||
46 | ( echo "forked") | ||
47 | grep testprobe trace | ||
48 | ! grep 'do_fork <-' trace | ||
49 | |||
50 | # cleanup | ||
51 | echo nop > current_tracer | ||
52 | echo > set_ftrace_filter | ||
53 | echo 0 > events/kprobes/testprobe/enable | ||
54 | echo > kprobe_events | ||
55 | echo > trace | ||