1#!/bin/bash 2# test Intel TPEBS counting mode (exclusive) 3# SPDX-License-Identifier: GPL-2.0 4 5set -e 6grep -q GenuineIntel /proc/cpuinfo || { echo Skipping non-Intel; exit 2; } 7 8# Use this event for testing because it should exist in all platforms 9event=cache-misses:R 10 11# Hybrid platforms output like "cpu_atom/cache-misses/R", rather than as above 12alt_name=/cache-misses/R 13 14# Without this cmd option, default value or zero is returned 15#echo "Testing without --record-tpebs" 16#result=$(perf stat -e "$event" true 2>&1) 17#[[ "$result" =~ $event || "$result" =~ $alt_name ]] || exit 1 18 19# In platforms that do not support TPEBS, it should execute without error. 20echo "Testing with --record-tpebs" 21result=$(perf stat -e "$event" --record-tpebs -a sleep 0.01 2>&1) 22[[ "$result" =~ "perf record" && "$result" =~ $event || "$result" =~ $alt_name ]] || exit 1 23