mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-04-08 12:02:33 +02:00
perf test shell lbr: Avoid failures with perf event paranoia
When not running as root and with higher perf event paranoia values
the perf record LBR tests could fail rather than skipping the
problematic tests.
Add the sensitivity to the test and confirm it passes with paranoia
values from -1 to 2.
Committer testing:
Testing with '$ perf test -vv lbr', i.e. as non root, and then comparing
the output shows the mentioned errors before this patch:
acme@x1:~$ grep -m1 "model name" /proc/cpuinfo
model name : 13th Gen Intel(R) Core(TM) i7-1365U
acme@x1:~$
Before:
132: perf record LBR tests : Skip
After:
132: perf record LBR tests : Ok
Fixes: 32559b99e0 ("perf test: Add set of perf record LBR tests")
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Chun-Tse Shao <ctshao@google.com>
Cc: Howard Chu <howardchu95@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
98dbed7aee
commit
48314d20fe
@@ -4,6 +4,10 @@
|
||||
|
||||
set -e
|
||||
|
||||
ParanoidAndNotRoot() {
|
||||
[ "$(id -u)" != 0 ] && [ "$(cat /proc/sys/kernel/perf_event_paranoid)" -gt $1 ]
|
||||
}
|
||||
|
||||
if [ ! -f /sys/bus/event_source/devices/cpu/caps/branches ] &&
|
||||
[ ! -f /sys/bus/event_source/devices/cpu_core/caps/branches ]
|
||||
then
|
||||
@@ -23,6 +27,7 @@ cleanup() {
|
||||
}
|
||||
|
||||
trap_cleanup() {
|
||||
echo "Unexpected signal in ${FUNCNAME[1]}"
|
||||
cleanup
|
||||
exit 1
|
||||
}
|
||||
@@ -123,8 +128,11 @@ lbr_test "-j ind_call" "any indirect call" 2
|
||||
lbr_test "-j ind_jmp" "any indirect jump" 100
|
||||
lbr_test "-j call" "direct calls" 2
|
||||
lbr_test "-j ind_call,u" "any indirect user call" 100
|
||||
lbr_test "-a -b" "system wide any branch" 2
|
||||
lbr_test "-a -j any_call" "system wide any call" 2
|
||||
if ! ParanoidAndNotRoot 1
|
||||
then
|
||||
lbr_test "-a -b" "system wide any branch" 2
|
||||
lbr_test "-a -j any_call" "system wide any call" 2
|
||||
fi
|
||||
|
||||
# Parallel
|
||||
parallel_lbr_test "-b" "parallel any branch" 100 &
|
||||
@@ -141,10 +149,16 @@ parallel_lbr_test "-j call" "parallel direct calls" 100 &
|
||||
pid6=$!
|
||||
parallel_lbr_test "-j ind_call,u" "parallel any indirect user call" 100 &
|
||||
pid7=$!
|
||||
parallel_lbr_test "-a -b" "parallel system wide any branch" 100 &
|
||||
pid8=$!
|
||||
parallel_lbr_test "-a -j any_call" "parallel system wide any call" 100 &
|
||||
pid9=$!
|
||||
if ParanoidAndNotRoot 1
|
||||
then
|
||||
pid8=
|
||||
pid9=
|
||||
else
|
||||
parallel_lbr_test "-a -b" "parallel system wide any branch" 100 &
|
||||
pid8=$!
|
||||
parallel_lbr_test "-a -j any_call" "parallel system wide any call" 100 &
|
||||
pid9=$!
|
||||
fi
|
||||
|
||||
for pid in $pid1 $pid2 $pid3 $pid4 $pid5 $pid6 $pid7 $pid8 $pid9
|
||||
do
|
||||
|
||||
Reference in New Issue
Block a user