| .. | .. |
|---|
| 1 | 1 | #!/bin/sh |
|---|
| 2 | 2 | # SPDX-License-Identifier: GPL-2.0 |
|---|
| 3 | 3 | # description: ftrace - function graph filters with stack tracer |
|---|
| 4 | +# requires: stack_trace set_ftrace_filter function_graph:tracer |
|---|
| 4 | 5 | |
|---|
| 5 | 6 | # Make sure that function graph filtering works, and is not |
|---|
| 6 | 7 | # affected by other tracers enabled (like stack tracer) |
|---|
| 7 | 8 | |
|---|
| 8 | | -if ! grep -q function_graph available_tracers; then |
|---|
| 9 | | - echo "no function graph tracer configured" |
|---|
| 10 | | - exit_unsupported |
|---|
| 11 | | -fi |
|---|
| 12 | | - |
|---|
| 13 | | -if [ ! -f set_ftrace_filter ]; then |
|---|
| 14 | | - echo "set_ftrace_filter not found? Is dynamic ftrace not set?" |
|---|
| 15 | | - exit_unsupported |
|---|
| 16 | | -fi |
|---|
| 17 | | - |
|---|
| 18 | 9 | do_reset() { |
|---|
| 19 | | - reset_tracer |
|---|
| 20 | 10 | if [ -e /proc/sys/kernel/stack_tracer_enabled ]; then |
|---|
| 21 | 11 | echo 0 > /proc/sys/kernel/stack_tracer_enabled |
|---|
| 22 | 12 | fi |
|---|
| 23 | | - enable_tracing |
|---|
| 24 | | - clear_trace |
|---|
| 25 | | - echo > set_ftrace_filter |
|---|
| 26 | 13 | } |
|---|
| 27 | 14 | |
|---|
| 28 | 15 | fail() { # msg |
|---|
| .. | .. |
|---|
| 43 | 30 | fi |
|---|
| 44 | 31 | |
|---|
| 45 | 32 | echo function_graph > current_tracer |
|---|
| 46 | | - |
|---|
| 47 | | -if [ ! -f stack_trace ]; then |
|---|
| 48 | | - echo "Stack tracer not configured" |
|---|
| 49 | | - do_reset |
|---|
| 50 | | - exit_unsupported; |
|---|
| 51 | | -fi |
|---|
| 52 | 33 | |
|---|
| 53 | 34 | echo "Now testing with stack tracer" |
|---|
| 54 | 35 | |
|---|