* [PATCH v1] perf test: Stat std output match 2 metrics for stalled-cycles-backend
@ 2026-04-02 22:04 Ian Rogers
2026-04-06 18:16 ` Namhyung Kim
0 siblings, 1 reply; 3+ messages in thread
From: Ian Rogers @ 2026-04-02 22:04 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Namhyung Kim, Alexander Shishkin, Jiri Olsa, Ian Rogers,
Adrian Hunter, James Clark, linux-perf-users, linux-kernel
Seen on ARM, the stalled-cycles-backend event can be given as the
event for both backend_cycles_idle and stalled_cycles_per_instruction
metrics. Make the metric match sufficiently generic to allow this.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/tests/shell/stat+std_output.sh | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/perf/tests/shell/stat+std_output.sh b/tools/perf/tests/shell/stat+std_output.sh
index 9c4b92ecf448..5a6bda436dd4 100755
--- a/tools/perf/tests/shell/stat+std_output.sh
+++ b/tools/perf/tests/shell/stat+std_output.sh
@@ -11,9 +11,12 @@ set -e
stat_output=$(mktemp /tmp/__perf_test.stat_output.std.XXXXX)
+# For event_name[i] expect to see event_metric[i]. 'stalled-cycles-backend' may
+# match both 'backend_cycles_idle' and 'stalled_cycles_per_instruction', hence
+# matching "_cycles_".
event_name=(cpu-clock task-clock context-switches cpu-migrations page-faults stalled-cycles-frontend stalled-cycles-backend cycles instructions branches branch-misses)
-event_metric=("CPUs_utilized" "CPUs_utilized" "cs/sec" "migrations/sec" "faults/sec" "frontend_cycles_idle" "backend_cycles_idle" "GHz" "insn_per_cycle" "/sec" "branch_miss_rate")
-skip_metric=("tma_" "TopdownL1")
+event_metric=("CPUs_utilized" "CPUs_utilized" "cs/sec" "migrations/sec" "faults/sec" "frontend_cycles_idle" "_cycles_" "GHz" "insn_per_cycle" "/sec" "branch_miss_rate")
+skip_metric=("tma_" "TopdownL1" "percent of slots")
cleanup() {
rm -f "${stat_output}"
--
2.53.0.1213.gd9a14994de-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v1] perf test: Stat std output match 2 metrics for stalled-cycles-backend
2026-04-02 22:04 [PATCH v1] perf test: Stat std output match 2 metrics for stalled-cycles-backend Ian Rogers
@ 2026-04-06 18:16 ` Namhyung Kim
2026-04-06 18:25 ` Ian Rogers
0 siblings, 1 reply; 3+ messages in thread
From: Namhyung Kim @ 2026-04-06 18:16 UTC (permalink / raw)
To: Ian Rogers
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Alexander Shishkin, Jiri Olsa, Adrian Hunter, James Clark,
linux-perf-users, linux-kernel
On Thu, Apr 02, 2026 at 03:04:06PM -0700, Ian Rogers wrote:
> Seen on ARM, the stalled-cycles-backend event can be given as the
> event for both backend_cycles_idle and stalled_cycles_per_instruction
> metrics. Make the metric match sufficiently generic to allow this.
>
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
> tools/perf/tests/shell/stat+std_output.sh | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/tests/shell/stat+std_output.sh b/tools/perf/tests/shell/stat+std_output.sh
> index 9c4b92ecf448..5a6bda436dd4 100755
> --- a/tools/perf/tests/shell/stat+std_output.sh
> +++ b/tools/perf/tests/shell/stat+std_output.sh
> @@ -11,9 +11,12 @@ set -e
>
> stat_output=$(mktemp /tmp/__perf_test.stat_output.std.XXXXX)
>
> +# For event_name[i] expect to see event_metric[i]. 'stalled-cycles-backend' may
> +# match both 'backend_cycles_idle' and 'stalled_cycles_per_instruction', hence
> +# matching "_cycles_".
> event_name=(cpu-clock task-clock context-switches cpu-migrations page-faults stalled-cycles-frontend stalled-cycles-backend cycles instructions branches branch-misses)
> -event_metric=("CPUs_utilized" "CPUs_utilized" "cs/sec" "migrations/sec" "faults/sec" "frontend_cycles_idle" "backend_cycles_idle" "GHz" "insn_per_cycle" "/sec" "branch_miss_rate")
> -skip_metric=("tma_" "TopdownL1")
> +event_metric=("CPUs_utilized" "CPUs_utilized" "cs/sec" "migrations/sec" "faults/sec" "frontend_cycles_idle" "_cycles_" "GHz" "insn_per_cycle" "/sec" "branch_miss_rate")
Is this used for partial string match?
Then I guess "frontend_cycles_idle" can be covered by "_cycles_" too?
Also as we have "/sec", can "cs/sec" and "migrations/sec" be removed?
> +skip_metric=("tma_" "TopdownL1" "percent of slots")
Why is "percent of slots" added as well?
Thanks,
Namhyung
>
> cleanup() {
> rm -f "${stat_output}"
> --
> 2.53.0.1213.gd9a14994de-goog
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v1] perf test: Stat std output match 2 metrics for stalled-cycles-backend
2026-04-06 18:16 ` Namhyung Kim
@ 2026-04-06 18:25 ` Ian Rogers
0 siblings, 0 replies; 3+ messages in thread
From: Ian Rogers @ 2026-04-06 18:25 UTC (permalink / raw)
To: Namhyung Kim
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Alexander Shishkin, Jiri Olsa, Adrian Hunter, James Clark,
linux-perf-users, linux-kernel
On Mon, Apr 6, 2026 at 11:16 AM Namhyung Kim <namhyung@kernel.org> wrote:
>
> On Thu, Apr 02, 2026 at 03:04:06PM -0700, Ian Rogers wrote:
> > Seen on ARM, the stalled-cycles-backend event can be given as the
> > event for both backend_cycles_idle and stalled_cycles_per_instruction
> > metrics. Make the metric match sufficiently generic to allow this.
> >
> > Signed-off-by: Ian Rogers <irogers@google.com>
> > ---
> > tools/perf/tests/shell/stat+std_output.sh | 7 +++++--
> > 1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/tests/shell/stat+std_output.sh b/tools/perf/tests/shell/stat+std_output.sh
> > index 9c4b92ecf448..5a6bda436dd4 100755
> > --- a/tools/perf/tests/shell/stat+std_output.sh
> > +++ b/tools/perf/tests/shell/stat+std_output.sh
> > @@ -11,9 +11,12 @@ set -e
> >
> > stat_output=$(mktemp /tmp/__perf_test.stat_output.std.XXXXX)
> >
> > +# For event_name[i] expect to see event_metric[i]. 'stalled-cycles-backend' may
> > +# match both 'backend_cycles_idle' and 'stalled_cycles_per_instruction', hence
> > +# matching "_cycles_".
> > event_name=(cpu-clock task-clock context-switches cpu-migrations page-faults stalled-cycles-frontend stalled-cycles-backend cycles instructions branches branch-misses)
> > -event_metric=("CPUs_utilized" "CPUs_utilized" "cs/sec" "migrations/sec" "faults/sec" "frontend_cycles_idle" "backend_cycles_idle" "GHz" "insn_per_cycle" "/sec" "branch_miss_rate")
> > -skip_metric=("tma_" "TopdownL1")
> > +event_metric=("CPUs_utilized" "CPUs_utilized" "cs/sec" "migrations/sec" "faults/sec" "frontend_cycles_idle" "_cycles_" "GHz" "insn_per_cycle" "/sec" "branch_miss_rate")
>
> Is this used for partial string match?
>
> Then I guess "frontend_cycles_idle" can be covered by "_cycles_" too?
> Also as we have "/sec", can "cs/sec" and "migrations/sec" be removed?
When we see the event at index 'i' in the event_name array, we check
the corresponding metric at index 'i' in the event_metric array. So
"cs/sec" matches the event "context-switches" while "/sec" matches
"branches". We could weaken the "context-switches" event to match just
"/sec" as a metric, but it seems better to leave it as "cs/sec".
> > +skip_metric=("tma_" "TopdownL1" "percent of slots")
>
> Why is "percent of slots" added as well?
Seen on ARM, the metric names lack an easily catchable prefix like
tma_. Its part of the fixing this test for ARM, but could be called
out more in the commit message.
Thanks,
Ian
> Thanks,
> Namhyung
>
> >
> > cleanup() {
> > rm -f "${stat_output}"
> > --
> > 2.53.0.1213.gd9a14994de-goog
> >
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-04-06 18:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-02 22:04 [PATCH v1] perf test: Stat std output match 2 metrics for stalled-cycles-backend Ian Rogers
2026-04-06 18:16 ` Namhyung Kim
2026-04-06 18:25 ` Ian Rogers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox