aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-10-20 06:52:02 -0400
committerSteven Rostedt <rostedt@goodmis.org>2014-11-03 14:15:46 -0500
commitd20058f67405981a81344e6fec93f6f557fb96a2 (patch)
tree1ef29875e4b7758e2a38adbddb8b4dcf7d3daa7b
parente7dbb48958897c0a80b14250a981a563d9160e4d (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.tc55
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
5grep function available_tracers || exit_unsupported # this is configurable
6
7# prepare
8echo nop > current_tracer
9echo do_fork > set_ftrace_filter
10echo 0 > events/enable
11echo > kprobe_events
12echo 'p:testprobe do_fork' > kprobe_events
13
14# kprobe on / ftrace off
15echo 1 > events/kprobes/testprobe/enable
16echo > trace
17( echo "forked")
18grep testprobe trace
19! grep 'do_fork <-' trace
20
21# kprobe on / ftrace on
22echo function > current_tracer
23echo > trace
24( echo "forked")
25grep testprobe trace
26grep 'do_fork <-' trace
27
28# kprobe off / ftrace on
29echo 0 > events/kprobes/testprobe/enable
30echo > trace
31( echo "forked")
32! grep testprobe trace
33grep 'do_fork <-' trace
34
35# kprobe on / ftrace on
36echo 1 > events/kprobes/testprobe/enable
37echo function > current_tracer
38echo > trace
39( echo "forked")
40grep testprobe trace
41grep 'do_fork <-' trace
42
43# kprobe on / ftrace off
44echo nop > current_tracer
45echo > trace
46( echo "forked")
47grep testprobe trace
48! grep 'do_fork <-' trace
49
50# cleanup
51echo nop > current_tracer
52echo > set_ftrace_filter
53echo 0 > events/kprobes/testprobe/enable
54echo > kprobe_events
55echo > trace