perf test: Fix test_arm_coresight.sh failures on Juno
authorJames Clark <james.clark@arm.com>
Wed, 5 Oct 2022 14:05:08 +0000 (15:05 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 14 Oct 2022 13:32:39 +0000 (10:32 -0300)
This test commonly fails on Arm Juno because the instruction interval
is large enough to miss generating any samples for Perf in system-wide
mode.

Fix this by lowering the interval until a comfortable number of Perf
instructions are generated. The test is still quick to run because only
a small amount of trace is gathered.

Before:

  sudo ./perf test coresight -vvv
  ...
  Recording trace with system wide mode
  Looking at perf.data file for dumping branch samples:
  Looking at perf.data file for reporting branch samples:
  Looking at perf.data file for instruction samples:
  CoreSight system wide testing: FAIL
  ...

After:

  sudo ./perf test coresight -vvv
  ...
  Recording trace with system wide mode
  Looking at perf.data file for dumping branch samples:
  Looking at perf.data file for reporting branch samples:
  Looking at perf.data file for instruction samples:
  CoreSight system wide testing: PASS
  ...

Reviewed-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: James Clark <james.clark@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: coresight@lists.linaro.org
Link: https://lore.kernel.org/r/20221005140508.1537277-1-james.clark@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/tests/shell/test_arm_coresight.sh

index e4cb4f1..daad786 100755 (executable)
@@ -70,7 +70,7 @@ perf_report_instruction_samples() {
        #   68.12%  touch    libc-2.27.so   [.] _dl_addr
        #    5.80%  touch    libc-2.27.so   [.] getenv
        #    4.35%  touch    ld-2.27.so     [.] _dl_fixup
-       perf report --itrace=i1000i --stdio -i ${perfdata} 2>&1 | \
+       perf report --itrace=i20i --stdio -i ${perfdata} 2>&1 | \
                egrep " +[0-9]+\.[0-9]+% +$1" > /dev/null 2>&1
 }