xref: /linux/tools/testing/selftests/ftrace/test.d/functions (revision 131f840d5b7c73cdb928c4dc7afd5120b0154d34)
1ee3988c7SSteven Rostedt (Red Hat)
2ee3988c7SSteven Rostedt (Red Hat)clear_trace() { # reset trace output
3ee3988c7SSteven Rostedt (Red Hat)    echo > trace
4ee3988c7SSteven Rostedt (Red Hat)}
5ee3988c7SSteven Rostedt (Red Hat)
6ee3988c7SSteven Rostedt (Red Hat)disable_tracing() { # stop trace recording
7ee3988c7SSteven Rostedt (Red Hat)    echo 0 > tracing_on
8ee3988c7SSteven Rostedt (Red Hat)}
9ee3988c7SSteven Rostedt (Red Hat)
10ee3988c7SSteven Rostedt (Red Hat)enable_tracing() { # start trace recording
11ee3988c7SSteven Rostedt (Red Hat)    echo 1 > tracing_on
12ee3988c7SSteven Rostedt (Red Hat)}
13ee3988c7SSteven Rostedt (Red Hat)
14ee3988c7SSteven Rostedt (Red Hat)reset_tracer() { # reset the current tracer
15ee3988c7SSteven Rostedt (Red Hat)    echo nop > current_tracer
16ee3988c7SSteven Rostedt (Red Hat)}
17cfa0963dSMasami Hiramatsu
18cfa0963dSMasami Hiramatsureset_trigger() { # reset all current setting triggers
19cfa0963dSMasami Hiramatsu    grep -v ^# events/*/*/trigger |
20cfa0963dSMasami Hiramatsu    while read line; do
21cfa0963dSMasami Hiramatsu        cmd=`echo $line | cut -f2- -d: | cut -f1 -d" "`
22cfa0963dSMasami Hiramatsu	echo "!$cmd" > `echo $line | cut -f1 -d:`
23cfa0963dSMasami Hiramatsu    done
24cfa0963dSMasami Hiramatsu}
25cfa0963dSMasami Hiramatsu
26*131f840dSMasami Hiramatsureset_events_filter() { # reset all current setting filters
27*131f840dSMasami Hiramatsu    grep -v ^none events/*/*/filter |
28*131f840dSMasami Hiramatsu    while read line; do
29*131f840dSMasami Hiramatsu	echo 0 > `echo $line | cut -f1 -d:`
30*131f840dSMasami Hiramatsu    done
31*131f840dSMasami Hiramatsu}
32*131f840dSMasami Hiramatsu
33*131f840dSMasami Hiramatsudisable_events() {
34*131f840dSMasami Hiramatsu    echo 0 > events/enable
35*131f840dSMasami Hiramatsu}
36*131f840dSMasami Hiramatsu
37*131f840dSMasami Hiramatsuinitialize_ftrace() { # Reset ftrace to initial-state
38*131f840dSMasami Hiramatsu# As the initial state, ftrace will be set to nop tracer,
39*131f840dSMasami Hiramatsu# no events, no triggers, no filters, no function filters,
40*131f840dSMasami Hiramatsu# no probes, and tracing on.
41*131f840dSMasami Hiramatsu    disable_tracing
42*131f840dSMasami Hiramatsu    reset_tracer
43*131f840dSMasami Hiramatsu    reset_trigger
44*131f840dSMasami Hiramatsu    reset_events_filter
45*131f840dSMasami Hiramatsu    disable_events
46*131f840dSMasami Hiramatsu    echo > set_event_pid	# event tracer is always on
47*131f840dSMasami Hiramatsu    [ -f set_ftrace_filter ] && echo | tee set_ftrace_*
48*131f840dSMasami Hiramatsu    [ -f set_graph_function ] && echo | tee set_graph_*
49*131f840dSMasami Hiramatsu    [ -f stack_trace_filter ] && echo > stack_trace_filter
50*131f840dSMasami Hiramatsu    [ -f kprobe_events ] && echo > kprobe_events
51*131f840dSMasami Hiramatsu    [ -f uprobe_events ] && echo > uprobe_events
52*131f840dSMasami Hiramatsu    enable_tracing
53*131f840dSMasami Hiramatsu}
54