Re: [PATCH] tracing/selftests: Update synthetic event selftest to use common_stacktrace

From: Google
Date: Wed May 24 2023 - 22:24:20 EST


On Tue, 23 May 2023 22:54:29 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> From: "Steven Rostedt (Google)" <rostedt@xxxxxxxxxxx>
>
> With the rename of the stacktrace field to common_stacktrace, update the
> selftests to reflect this change. Copy the current selftest to test the
> backward compatibility "stacktrace" keyword. Also the "requires" of that
> test was incorrect, so it would never actually ran before. That is fixed
> now.
>
> Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>

Looks good to me.

Acked-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>

Thanks,

> ---
> .../trigger-synthetic-event-stack-legacy.tc | 24 +++++++++++++++++++
> .../trigger-synthetic-event-stack.tc | 5 ++--
> 2 files changed, 26 insertions(+), 3 deletions(-)
> create mode 100644 tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-stack-legacy.tc
>
> diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-stack-legacy.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-stack-legacy.tc
> new file mode 100644
> index 000000000000..d0cd91a93069
> --- /dev/null
> +++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-stack-legacy.tc
> @@ -0,0 +1,24 @@
> +#!/bin/sh
> +# SPDX-License-Identifier: GPL-2.0
> +# description: event trigger - test inter-event histogram trigger trace action with dynamic string param (legacy stack)
> +# requires: set_event synthetic_events events/sched/sched_process_exec/hist "long[] stack' >> synthetic_events":README
> +
> +fail() { #msg
> + echo $1
> + exit_fail
> +}
> +
> +echo "Test create synthetic event with stack"
> +
> +# Test the old stacktrace keyword (for backward compatibility)
> +echo 's:wake_lat pid_t pid; u64 delta; unsigned long[] stack;' > dynamic_events
> +echo 'hist:keys=next_pid:ts=common_timestamp.usecs,st=stacktrace if prev_state == 1||prev_state == 2' >> events/sched/sched_switch/trigger
> +echo 'hist:keys=prev_pid:delta=common_timestamp.usecs-$ts,s=$st:onmax($delta).trace(wake_lat,prev_pid,$delta,$s)' >> events/sched/sched_switch/trigger
> +echo 1 > events/synthetic/wake_lat/enable
> +sleep 1
> +
> +if ! grep -q "=>.*sched" trace; then
> + fail "Failed to create synthetic event with stack"
> +fi
> +
> +exit 0
> diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-stack.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-stack.tc
> index 755dbe94ccf4..8f1cc9a86a06 100644
> --- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-stack.tc
> +++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-stack.tc
> @@ -1,7 +1,7 @@
> #!/bin/sh
> # SPDX-License-Identifier: GPL-2.0
> # description: event trigger - test inter-event histogram trigger trace action with dynamic string param
> -# requires: set_event synthetic_events events/sched/sched_process_exec/hist "long[]' >> synthetic_events":README
> +# requires: set_event synthetic_events events/sched/sched_process_exec/hist "can be any field, or the special string 'common_stacktrace'":README
>
> fail() { #msg
> echo $1
> @@ -10,9 +10,8 @@ fail() { #msg
>
> echo "Test create synthetic event with stack"
>
> -
> echo 's:wake_lat pid_t pid; u64 delta; unsigned long[] stack;' > dynamic_events
> -echo 'hist:keys=next_pid:ts=common_timestamp.usecs,st=stacktrace if prev_state == 1||prev_state == 2' >> events/sched/sched_switch/trigger
> +echo 'hist:keys=next_pid:ts=common_timestamp.usecs,st=common_stacktrace if prev_state == 1||prev_state == 2' >> events/sched/sched_switch/trigger
> echo 'hist:keys=prev_pid:delta=common_timestamp.usecs-$ts,s=$st:onmax($delta).trace(wake_lat,prev_pid,$delta,$s)' >> events/sched/sched_switch/trigger
> echo 1 > events/synthetic/wake_lat/enable
> sleep 1
> --
> 2.39.2
>


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>