162306a36Sopenharmony_ci#!/bin/bash
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciif [[ -e /sys/kernel/tracing/trace ]]; then
462306a36Sopenharmony_ci    TR=/sys/kernel/tracing/
562306a36Sopenharmony_cielse
662306a36Sopenharmony_ci    TR=/sys/kernel/debug/tracing/
762306a36Sopenharmony_cifi
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciclear_trace() { # reset trace output
1062306a36Sopenharmony_ci    echo > $TR/trace
1162306a36Sopenharmony_ci}
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidisable_tracing() { # stop trace recording
1462306a36Sopenharmony_ci    echo 0 > $TR/tracing_on
1562306a36Sopenharmony_ci}
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_cienable_tracing() { # start trace recording
1862306a36Sopenharmony_ci    echo 1 > $TR/tracing_on
1962306a36Sopenharmony_ci}
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cireset_tracer() { # reset the current tracer
2262306a36Sopenharmony_ci    echo nop > $TR/current_tracer
2362306a36Sopenharmony_ci}
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_cidisable_tracing
2662306a36Sopenharmony_ciclear_trace
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciecho "" > $TR/set_ftrace_filter
2962306a36Sopenharmony_ciecho '*printk* *console* *wake* *serial* *lock*' > $TR/set_ftrace_notrace
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciecho "bpf_prog_test*" > $TR/set_graph_function
3262306a36Sopenharmony_ciecho "" > $TR/set_graph_notrace
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciecho function_graph > $TR/current_tracer
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_cienable_tracing
3762306a36Sopenharmony_ci./test_progs -t fentry
3862306a36Sopenharmony_ci./test_progs -t fexit
3962306a36Sopenharmony_cidisable_tracing
4062306a36Sopenharmony_ciclear_trace
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_cireset_tracer
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ciexit 0
45