[PATCH v2] perf test: Add ARM SPE system wide test

From: Namhyung Kim
Date: Thu Jun 16 2022 - 19:05:54 EST


In the past it had a problem not setting the pid/tid on the sample
correctly when system-wide mode is used. Although it's fixed now it'd
be nice if we have a test case for it.

Cc: German Gomez <german.gomez@xxxxxxx>
Cc: Leo Yan <leo.yan@xxxxxxxxxx>
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
---
* skip if system-wide record was failed

tools/perf/tests/shell/test_arm_spe.sh | 28 +++++++++++++++++++++++---
1 file changed, 25 insertions(+), 3 deletions(-)

diff --git a/tools/perf/tests/shell/test_arm_spe.sh b/tools/perf/tests/shell/test_arm_spe.sh
index e59044edc406..962841a51f27 100755
--- a/tools/perf/tests/shell/test_arm_spe.sh
+++ b/tools/perf/tests/shell/test_arm_spe.sh
@@ -23,17 +23,20 @@ glb_err=0
cleanup_files()
{
rm -f ${perfdata}
+ rm -f ${perfdata}.old
exit $glb_err
}

trap cleanup_files exit term int

arm_spe_report() {
- if [ $2 != 0 ]; then
+ if [ $2 = 0 ]; then
+ echo "$1: PASS"
+ elif [ $2 = 2 ]; then
+ echo "$1: SKIPPED"
+ else
echo "$1: FAIL"
glb_err=$2
- else
- echo "$1: PASS"
fi
}

@@ -85,5 +88,24 @@ arm_spe_snapshot_test() {
arm_spe_report "SPE snapshot testing" $err
}

+arm_spe_system_wide_test() {
+ echo "Recording trace with system-wide mode $perfdata"
+ perf record -o ${perfdata} -e arm_spe// -a \
+ -- dd if=/dev/zero of=/dev/null count=100000 > /dev/null 2>&1
+
+ if [ $? != 0 ]; then
+ arm_spe_report "SPE system-wide testing" 2
+ return
+ fi
+
+ perf_script_samples dd &&
+ perf_report_samples dd
+
+ err=$?
+ arm_spe_report "SPE system-wide testing" $err
+}
+
arm_spe_snapshot_test
+arm_spe_system_wide_test
+
exit $glb_err
--
2.36.1.476.g0c4daa206d-goog