Commit 0996e674 authored by Swapnil Sapkal's avatar Swapnil Sapkal Committed by Shuah Khan

selftests/amd-pstate: Added option to provide perf binary path

In selftests/amd-pstate, distro `perf` is used to capture `perf stat`
while running microbenchmarks. Distro `perf` is not working with
upstream kernel. Fix this by providing an option to give the perf
binary path.
Reviewed-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarSwapnil Sapkal <swapnil.sapkal@amd.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 27aabb2c
......@@ -88,7 +88,7 @@ run_gitsource()
BACKUP_DIR=$(pwd)
pushd $BACKUP_DIR > /dev/null 2>&1
cd $SCRIPTDIR/$git_name
perf stat -a --per-socket -I 1000 -e power/energy-pkg/ /usr/bin/time -o $BACKUP_DIR/$OUTFILE_GIT.time-gitsource-$1-$2.log make test -j$MAKE_CPUS > $BACKUP_DIR/$OUTFILE_GIT-perf-$1-$2.log 2>&1
$PERF stat -a --per-socket -I 1000 -e power/energy-pkg/ /usr/bin/time -o $BACKUP_DIR/$OUTFILE_GIT.time-gitsource-$1-$2.log make test -j$MAKE_CPUS > $BACKUP_DIR/$OUTFILE_GIT-perf-$1-$2.log 2>&1
popd > /dev/null 2>&1
for job in `jobs -p`
......
......@@ -25,6 +25,7 @@ OUTFILE=selftest
OUTFILE_TBENCH="$OUTFILE.tbench"
OUTFILE_GIT="$OUTFILE.gitsource"
PERF=/usr/bin/perf
SYSFS=
CPUROOT=
CPUFREQROOT=
......@@ -154,6 +155,7 @@ help()
[-p <tbench process number>]
[-l <loop times for tbench>]
[-i <amd tracer interval>]
[-b <perf binary>]
[-m <comparative test: acpi-cpufreq>]
\n"
exit 2
......@@ -161,7 +163,7 @@ help()
parse_arguments()
{
while getopts ho:c:t:p:l:i:m: arg
while getopts ho:c:t:p:l:i:b:m: arg
do
case $arg in
h) # --help
......@@ -192,6 +194,10 @@ parse_arguments()
TRACER_INTERVAL=$OPTARG
;;
b) # --perf-binary
PERF=`realpath $OPTARG`
;;
m) # --comparative-test
COMPARATIVE_TEST=$OPTARG
;;
......@@ -205,8 +211,8 @@ parse_arguments()
command_perf()
{
if ! command -v perf > /dev/null; then
echo $msg please install perf. >&2
if ! $PERF -v; then
echo $msg please install perf or provide perf binary path as argument >&2
exit $ksft_skip
fi
}
......
......@@ -68,7 +68,7 @@ run_tbench()
printf "Test tbench for $1 #$2 time_limit: $TIME_LIMIT procs_num: $PROCESS_NUM\n"
tbench_srv > /dev/null 2>&1 &
perf stat -a --per-socket -I 1000 -e power/energy-pkg/ tbench -t $TIME_LIMIT $PROCESS_NUM > $OUTFILE_TBENCH-perf-$1-$2.log 2>&1
$PERF stat -a --per-socket -I 1000 -e power/energy-pkg/ tbench -t $TIME_LIMIT $PROCESS_NUM > $OUTFILE_TBENCH-perf-$1-$2.log 2>&1
pid=`pidof tbench_srv`
kill $pid
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment