Skip to content

Commit

Permalink
ftracetest: Add kprobes on ftrace testcase
Browse files Browse the repository at this point in the history
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/[email protected]

Acked-by: Masami Hiramatsu <[email protected]>
Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
  • Loading branch information
heicarst authored and rostedt committed Nov 3, 2014
1 parent e7dbb48 commit d20058f
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/sh
# description: Kprobe dynamic event with function tracer

[ -f kprobe_events ] || exit_unsupported # this is configurable
grep function available_tracers || exit_unsupported # this is configurable

# prepare
echo nop > current_tracer
echo do_fork > set_ftrace_filter
echo 0 > events/enable
echo > kprobe_events
echo 'p:testprobe do_fork' > kprobe_events

# kprobe on / ftrace off
echo 1 > events/kprobes/testprobe/enable
echo > trace
( echo "forked")
grep testprobe trace
! grep 'do_fork <-' trace

# kprobe on / ftrace on
echo function > current_tracer
echo > trace
( echo "forked")
grep testprobe trace
grep 'do_fork <-' trace

# kprobe off / ftrace on
echo 0 > events/kprobes/testprobe/enable
echo > trace
( echo "forked")
! grep testprobe trace
grep 'do_fork <-' trace

# kprobe on / ftrace on
echo 1 > events/kprobes/testprobe/enable
echo function > current_tracer
echo > trace
( echo "forked")
grep testprobe trace
grep 'do_fork <-' trace

# kprobe on / ftrace off
echo nop > current_tracer
echo > trace
( echo "forked")
grep testprobe trace
! grep 'do_fork <-' trace

# cleanup
echo nop > current_tracer
echo > set_ftrace_filter
echo 0 > events/kprobes/testprobe/enable
echo > kprobe_events
echo > trace

0 comments on commit d20058f

Please sign in to comment.