summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/perf/tests/shell/record.sh16
1 files changed, 15 insertions, 1 deletions
diff --git a/tools/perf/tests/shell/record.sh b/tools/perf/tests/shell/record.sh
index 0f5841c479e7..46b96d565680 100755
--- a/tools/perf/tests/shell/record.sh
+++ b/tools/perf/tests/shell/record.sh
@@ -260,7 +260,21 @@ test_uid() {
test_leader_sampling() {
echo "Basic leader sampling test"
- if ! perf record -o "${perfdata}" -e "{cycles,cycles}:Su" -- \
+ events="{cycles,cycles}:Su"
+ [ $(uname -m) = "s390x" ] && {
+ [ ! -d /sys/devices/cpum_sf ] && {
+ echo "No CPUMF [Skipped record]"
+ return
+ }
+ events="{cpum_sf/SF_CYCLES_BASIC/,cycles}:Su"
+ perf record -o "${perfdata}" -e "$events" -- perf test -w brstack 2> /dev/null
+ # Perf grouping might be unsupported, depends on version.
+ [ "$?" -ne 0 ] && {
+ echo "Grouping not support [Skipped record]"
+ return
+ }
+ }
+ if ! perf record -o "${perfdata}" -e "$events" -- \
perf test -w brstack 2> /dev/null
then
echo "Leader sampling [Failed record]"