Message ID | 20230523225402.55951f2f@rorschach.local.home (mailing list archive) |
---|---|
State | Accepted |
Commit | f1aab363438cd1c55a3c5420db2a17c0e29ef625 |
Headers | show |
Series | tracing/selftests: Update synthetic event selftest to use common_stacktrace | expand |
On Tue, 23 May 2023 22:54:29 -0400 Steven Rostedt <rostedt@goodmis.org> wrote: > From: "Steven Rostedt (Google)" <rostedt@goodmis.org> > > 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@goodmis.org> Looks good to me. Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> 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 >
On 5/24/23 20:24, Masami Hiramatsu (Google) wrote: > On Tue, 23 May 2023 22:54:29 -0400 > Steven Rostedt <rostedt@goodmis.org> wrote: > >> From: "Steven Rostedt (Google)" <rostedt@goodmis.org> >> >> 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@goodmis.org> > > Looks good to me. > > Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> > Applied to linux-kselftest next for Linux 6.5-rc1 thanks, -- Shuah
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