diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-11-08 16:08:12 -0500 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-11-13 09:36:49 -0500 |
commit | ed9dafebce52206382de96bd5bbdff22335930f6 (patch) | |
tree | 96a0307764cb05ee33237b5b6a9143dce0eb0eaa | |
parent | 156473a0ff4f9c209114b4c3ad968099eb541e33 (diff) | |
download | linux-ed9dafebce52206382de96bd5bbdff22335930f6.tar.bz2 |
ftrace/selftests: Update the direct call selftests to test two direct calls
The register_ftrace_direct() takes a different path if there's already a
direct call registered, but this was not tested in the self tests. Now that
there's a second direct caller test module, we can use this to test not only
one direct caller, but two.
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r-- | tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc | 16 | ||||
-rw-r--r-- | tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc | 59 |
2 files changed, 52 insertions, 23 deletions
diff --git a/tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc b/tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc index 8b8ed3cad51b..cbc7a30c2e0f 100644 --- a/tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc +++ b/tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc @@ -51,3 +51,19 @@ done echo nop > current_tracer rmmod ftrace-direct ||: + +# Now do the same thing with another direct function registered +echo "Running with another ftrace direct function" + +rmmod ftrace-direct-too ||: +modprobe ftrace-direct-too + +for t in `cat available_tracers`; do + if [ "$t" != "nop" ]; then + test_tracer $t + fi +done + +echo nop > current_tracer +rmmod ftrace-direct ||: +rmmod ftrace-direct-too ||: diff --git a/tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc b/tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc index f030dc80bcde..017a7409b103 100644 --- a/tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc +++ b/tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc @@ -44,28 +44,41 @@ disable_probe() { echo 0 > events/kprobes/kwake/enable } -# probe -> direct -> no direct > no probe -enable_probe -start_direct -stop_direct -disable_probe - -# probe -> direct -> no probe > no direct -enable_probe -start_direct -disable_probe -stop_direct - -# direct -> probe -> no probe > no direct -start_direct -enable_probe -disable_probe -stop_direct - -# direct -> probe -> no direct > no noprobe -start_direct -enable_probe -stop_direct -disable_probe +test_kprobes() { + # probe -> direct -> no direct > no probe + enable_probe + start_direct + stop_direct + disable_probe + + # probe -> direct -> no probe > no direct + enable_probe + start_direct + disable_probe + stop_direct + + # direct -> probe -> no probe > no direct + start_direct + enable_probe + disable_probe + stop_direct + + # direct -> probe -> no direct > no noprobe + start_direct + enable_probe + stop_direct + disable_probe +} + +test_kprobes + +# Now do this with a second registered direct function +echo "Running with another ftrace direct function" + +modprobe ftrace-direct-too + +test_kprobes + +rmmod ftrace-direct-too echo > kprobe_events |