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