1 2clear_trace() { # reset trace output 3 echo > trace 4} 5 6disable_tracing() { # stop trace recording 7 echo 0 > tracing_on 8} 9 10enable_tracing() { # start trace recording 11 echo 1 > tracing_on 12} 13 14reset_tracer() { # reset the current tracer 15 echo nop > current_tracer 16} 17 18reset_trigger_file() { 19 # remove action triggers first 20 grep -H ':on[^:]*(' $@ | 21 while read line; do 22 cmd=`echo $line | cut -f2- -d: | cut -f1 -d" "` 23 file=`echo $line | cut -f1 -d:` 24 echo "!$cmd" >> $file 25 done 26 grep -Hv ^# $@ | 27 while read line; do 28 cmd=`echo $line | cut -f2- -d: | cut -f1 -d" "` 29 file=`echo $line | cut -f1 -d:` 30 echo "!$cmd" > $file 31 done 32} 33 34reset_trigger() { # reset all current setting triggers 35 if [ -d events/synthetic ]; then 36 reset_trigger_file events/synthetic/*/trigger 37 fi 38 reset_trigger_file events/*/*/trigger 39} 40 41reset_events_filter() { # reset all current setting filters 42 grep -v ^none events/*/*/filter | 43 while read line; do 44 echo 0 > `echo $line | cut -f1 -d:` 45 done 46} 47 48reset_ftrace_filter() { # reset all triggers in set_ftrace_filter 49 echo > set_ftrace_filter 50 grep -v '^#' set_ftrace_filter | while read t; do 51 tr=`echo $t | cut -d: -f2` 52 if [ "$tr" = "" ]; then 53 continue 54 fi 55 if [ $tr = "enable_event" -o $tr = "disable_event" ]; then 56 tr=`echo $t | cut -d: -f1-4` 57 limit=`echo $t | cut -d: -f5` 58 else 59 tr=`echo $t | cut -d: -f1-2` 60 limit=`echo $t | cut -d: -f3` 61 fi 62 if [ "$limit" != "unlimited" ]; then 63 tr="$tr:$limit" 64 fi 65 echo "!$tr" > set_ftrace_filter 66 done 67} 68 69disable_events() { 70 echo 0 > events/enable 71} 72 73initialize_ftrace() { # Reset ftrace to initial-state 74# As the initial state, ftrace will be set to nop tracer, 75# no events, no triggers, no filters, no function filters, 76# no probes, and tracing on. 77 disable_tracing 78 reset_tracer 79 reset_trigger 80 reset_events_filter 81 disable_events 82 echo > set_event_pid # event tracer is always on 83 [ -f set_ftrace_filter ] && echo | tee set_ftrace_* 84 [ -f set_graph_function ] && echo | tee set_graph_* 85 [ -f stack_trace_filter ] && echo > stack_trace_filter 86 [ -f kprobe_events ] && echo > kprobe_events 87 [ -f uprobe_events ] && echo > uprobe_events 88 enable_tracing 89} 90