summaryrefslogtreecommitdiffstats
path: root/tools/perf/tests/shell/test_stat_intel_tpebs.sh
blob: 9a11f42d153cacc3da7f2cc2abea3fb6a56753ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
# test Intel TPEBS counting mode
# SPDX-License-Identifier: GPL-2.0

set -e
grep -q GenuineIntel /proc/cpuinfo || { echo Skipping non-Intel; exit 2; }

# Use this event for testing because it should exist in all platforms
event=cache-misses:R

# Hybrid platforms output like "cpu_atom/cache-misses/R", rather than as above
alt_name=/cache-misses/R

# Without this cmd option, default value or zero is returned
#echo "Testing without --record-tpebs"
#result=$(perf stat -e "$event" true 2>&1)
#[[ "$result" =~ $event || "$result" =~ $alt_name ]] || exit 1

# In platforms that do not support TPEBS, it should execute without error.
echo "Testing with --record-tpebs"
result=$(perf stat -e "$event" --record-tpebs -a sleep 0.01 2>&1)
[[ "$result" =~ "perf record" && "$result" =~ $event || "$result" =~ $alt_name ]] || exit 1