Files
phs_v1.0.1.0/third_party/musl/Benchmark/scripts/run_dlopen.sh

84 lines
2.7 KiB
Bash
Raw Normal View History

2024-09-27 19:21:56 +08:00
#!/bin/bash
# Copyright (c) 2023 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -e
HDC='/home/yinchuang/Task/dlopen/toolchains//hdc_std -s 10.121.251.143:8710 '
function lock_cpu() {
$HDC shell "mount -o rw,remount /vendor"
$HDC shell "rm -rf /vendor/etc/soc_perf/*"
$HDC shell "echo 1700000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"
$HDC shell "echo 2343000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq"
$HDC shell "echo 3130000 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq"
$HDC shell "echo 4-7 > /dev/cpuset/top-app/cpuset.cpus"
$HDC shell "echo 4-7 > /dev/cpuset/graphic/cpuset.cpus"
echo "current freqency: "
$HDC shell "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"
$HDC shell "cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq"
$HDC shell "cat /sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq"
$HDC shell "cat /sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq"
$HDC shell "cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq"
$HDC shell "cat /sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq"
$HDC shell "cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_cur_freq"
$HDC shell "cat /sys/devices/system/cpu/cpu7/cpufreq/scaling_cur_freq"
$HDC shell power-shell setmode 602
}
function usage() {
echo "usage: $0 -r {the number of runs} -p {case path in phone}"
exit 1
}
REPS=50
CASE_PATH="/data/local/tmp/musl_dlopen"
while getopts "hp:r:" OPT
do
case "$OPT" in
p) CASE_PATH=$OPTARG;;
r) REPS=$OPTARG;;
h) usage;;
*)
echo "unknown options $opt"
usage
exit 1
;;
esac
done
echo REPS:$REPS
echo CASE_PATH:$CASE_PATH
time=$(date "+%Y%m%d-%H%M%S")
result_file="dlopen_cost_${time}.txt"
lock_cpu
for((i=1;i<=${REPS};i++));
do
$HDC shell $CASE_PATH | grep "dlopen" >> ${result_file}
done
echo "save results to dlopen_cost_${time}.txt"
err=$(cat ${result_file} | grep "dlopen error" | wc -l )
if [ $err -gt 0 ];
then
echo "dlopen failed!!!"
exit 1
fi
cat ${result_file} | awk 'BEGIN{ave=0; num=0} {ave+=$4;num++} END{print "dlopen cost(ave): " ave/num "(ms)", "num:" num}'