1 #!/bin/sh 2 # SPDX-License-Identifier: GPL-2.0 3 # description: Test ftrace direct functions against tracers 4 5 rmmod ftrace-direct ||: 6 if ! modprobe ftrace-direct ; then 7 echo "No ftrace-direct sample module - please make CONFIG_SAMPLE_FTRACE_DIRECT=m" 8 exit_unresolved; 9 fi 10 11 echo "Let the module run a little" 12 sleep 1 13 14 grep -q "my_direct_func: waking up" trace 15 16 rmmod ftrace-direct 17 18 test_tracer() { 19 tracer=$1 20 21 # tracer -> direct -> no direct > no tracer 22 echo $tracer > current_tracer 23 modprobe ftrace-direct 24 rmmod ftrace-direct 25 echo nop > current_tracer 26 27 # tracer -> direct -> no tracer > no direct 28 echo $tracer > current_tracer 29 modprobe ftrace-direct 30 echo nop > current_tracer 31 rmmod ftrace-direct 32 33 # direct -> tracer -> no tracer > no direct 34 modprobe ftrace-direct 35 echo $tracer > current_tracer 36 echo nop > current_tracer 37 rmmod ftrace-direct 38 39 # direct -> tracer -> no direct > no notracer 40 modprobe ftrace-direct 41 echo $tracer > current_tracer 42 rmmod ftrace-direct 43 echo nop > current_tracer 44 } 45 46 for t in `cat available_tracers`; do 47 if [ "$t" != "nop" ]; then 48 test_tracer $t 49 fi 50 done 51 52 echo nop > current_tracer 53 rmmod ftrace-direct ||: 54 55 # Now do the same thing with another direct function registered 56 echo "Running with another ftrace direct function" 57 58 rmmod ftrace-direct-too ||: 59 modprobe ftrace-direct-too 60 61 for t in `cat available_tracers`; do 62 if [ "$t" != "nop" ]; then 63 test_tracer $t 64 fi 65 done 66 67 echo nop > current_tracer 68 rmmod ftrace-direct ||: 69 rmmod ftrace-direct-too ||:
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.