Re: [PATCH v5 7/7] perf test: Add a test for default perf stat command

From: James Clark
Date: Fri Aug 30 2024 - 04:30:02 EST




On 30/08/2024 7:32 am, Namhyung Kim wrote:
Hello,

On Wed, Aug 28, 2024 at 03:07:21PM +0100, James Clark wrote:
Test that one cycles event is opened for each core PMU when "perf stat"
is run without arguments.

The event line can either be output as "pmu/cycles/" or just "cycles" if
there is only one PMU. Include 2 spaces for padding in the one PMU case
to avoid matching when the word cycles is included in metric
descriptions.

Signed-off-by: James Clark <james.clark@xxxxxxxxxx>
---
tools/perf/tests/shell/stat.sh | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

diff --git a/tools/perf/tests/shell/stat.sh b/tools/perf/tests/shell/stat.sh
index 525d0c44fdc6..24ace1de71cc 100755
--- a/tools/perf/tests/shell/stat.sh
+++ b/tools/perf/tests/shell/stat.sh
@@ -148,6 +148,26 @@ test_cputype() {
echo "cputype test [Success]"
}
+test_hybrid() {
+ # Test the default stat command on hybrid devices opens one cycles event for
+ # each CPU type.
+ echo "hybrid test"
+
+ # Count the number of core PMUs
+ pmus=$(ls /sys/bus/event_source/devices/*/cpus 2>/dev/null | wc -l)

Is it working on non-hybrid systems? I don't think they have cpus file
in the core PMU.

Thanks,
Namhyung


Good point I only tested on Arm non-hybrid. I can change it to assume 1 PMU for no cpus files?