]> git.itanic.dy.fi Git - linux-stable/commit
perf test: Reorder event name checks in stat STD output linter
authorNamhyung Kim <namhyung@kernel.org>
Fri, 23 Jun 2023 23:01:38 +0000 (16:01 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Sat, 24 Jun 2023 04:35:45 +0000 (21:35 -0700)
commit8d3df7c39b10d4ff24a605f7b80bb6fefb990798
tree39a7c785d5385a821bc7b5f8a5e2ce021a7a5fa7
parentd06593aa00b2bb1cc1ac9d88157bb8db0ac17872
perf test: Reorder event name checks in stat STD output linter

On AMD machines, the perf stat STD output test failed like below:

  $ sudo ./perf test -v 98
   98: perf stat STD output linter                                     :
  --- start ---
  test child forked, pid 1841901
  Checking STD output: no argswrong event metric.
    expected 'GHz' in 108,121 stalled-cycles-frontend  # 10.88% frontend cycles idle
  test child finished with -1
  ---- end ----
  perf stat STD output linter: FAILED!

This is because there are stalled-cycles-{frontend,backend} events are
used by default.  The current logic checks the event_name array to find
which event it's running.  But 'cycles' event comes before those stalled
cycles event and it matches first.  So it tries to find 'GHz' metric
in the output (which is for the 'cycles') and fails.

Move the stalled-cycles-{frontend,backend} events before 'cycles' so
that it can find the stalled cycles events first.

Also add a space after 'no args' test name for consistency.

Fixes: 99a04a48f225 ("perf test: Add test case for the standard 'perf stat' output")
Acked-by: Ian Rogers <irogers@google.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230623230139.985594-1-namhyung@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/tests/shell/lib/stat_output.sh
tools/perf/tests/shell/stat+std_output.sh