mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 13:14:02 +02:00
Merge branch 'pm-cpufreq-tests'
Merge cpufreq test updates for 7.3-rc1: - Backup and restore governor for cpufreq sptests (Yiwei Lin) - Remove unnecessary sudo from quick_shuffle() and remove unused local variables from switch_show_governor() in cpufreq selftests (Jinseok Kim) * pm-cpufreq-tests: kselftest: cpufreq: Backup and restore governor for sptests selftests/cpufreq: Remove unnecessary sudo from quick_shuffle() selftests/cpufreq: Remove unused local variables from switch_show_governor()
This commit is contained in:
commit
915d26e758
|
|
@ -16,6 +16,12 @@ source cpufreq.sh
|
|||
CUR_GOV=
|
||||
CUR_FREQ=
|
||||
|
||||
# Per-policy backup, keyed by policy so multiple policies can be saved at once
|
||||
# (backup_governor/restore_governor also keep CUR_GOV/CUR_FREQ for callers that
|
||||
# read them directly).
|
||||
declare -A SAVED_GOVERNORS
|
||||
declare -A SAVED_FREQS
|
||||
|
||||
# Find governor's directory path
|
||||
# $1: policy, $2: governor
|
||||
find_gov_directory()
|
||||
|
|
@ -39,11 +45,13 @@ find_current_governor()
|
|||
backup_governor()
|
||||
{
|
||||
CUR_GOV=$(find_current_governor $1)
|
||||
SAVED_GOVERNORS[$1]=$CUR_GOV
|
||||
|
||||
printf "Governor backup done for $1: $CUR_GOV\n"
|
||||
|
||||
if [ $CUR_GOV == "userspace" ]; then
|
||||
CUR_FREQ=$(find_current_freq $1)
|
||||
SAVED_FREQS[$1]=$CUR_FREQ
|
||||
printf "Governor frequency backup done for $1: $CUR_FREQ\n"
|
||||
fi
|
||||
|
||||
|
|
@ -53,11 +61,13 @@ backup_governor()
|
|||
# $1: policy
|
||||
restore_governor()
|
||||
{
|
||||
CUR_GOV=${SAVED_GOVERNORS[$1]}
|
||||
__switch_governor $1 $CUR_GOV
|
||||
|
||||
printf "Governor restored for $1 to $CUR_GOV\n"
|
||||
|
||||
if [ $CUR_GOV == "userspace" ]; then
|
||||
CUR_FREQ=${SAVED_FREQS[$1]}
|
||||
set_cpu_frequency $1 $CUR_FREQ
|
||||
printf "Governor frequency restored for $1: $CUR_FREQ\n"
|
||||
fi
|
||||
|
|
@ -65,6 +75,17 @@ restore_governor()
|
|||
printf "\n"
|
||||
}
|
||||
|
||||
# Save/restore governors for every policy at once
|
||||
save_all_governors()
|
||||
{
|
||||
for_each_policy backup_governor
|
||||
}
|
||||
|
||||
restore_all_governors()
|
||||
{
|
||||
for_each_policy restore_governor
|
||||
}
|
||||
|
||||
# param:
|
||||
# $1: policy, $2: governor
|
||||
__switch_governor()
|
||||
|
|
@ -100,11 +121,6 @@ switch_governor()
|
|||
# $1: policy, $2: governor
|
||||
switch_show_governor()
|
||||
{
|
||||
cur_gov=find_current_governor
|
||||
if [ $cur_gov == "userspace" ]; then
|
||||
cur_freq=find_current_freq
|
||||
fi
|
||||
|
||||
# switch governor
|
||||
__switch_governor $1 $2
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,9 @@ simple_lockdep()
|
|||
{
|
||||
printf "** Test: Running ${FUNCNAME[0]} **\n"
|
||||
|
||||
save_all_governors
|
||||
for_each_policy __simple_lockdep
|
||||
restore_all_governors
|
||||
}
|
||||
|
||||
# Test 2
|
||||
|
|
@ -56,7 +58,10 @@ concurrent_lockdep()
|
|||
{
|
||||
printf "** Test: Running ${FUNCNAME[0]} **\n"
|
||||
|
||||
save_all_governors
|
||||
for_each_policy_concurrent __concurrent_lockdep
|
||||
wait
|
||||
restore_all_governors
|
||||
}
|
||||
|
||||
# Test 3
|
||||
|
|
@ -65,20 +70,26 @@ quick_shuffle()
|
|||
# this is called concurrently from governor_race
|
||||
for I in `seq 1000`
|
||||
do
|
||||
echo ondemand | sudo tee $CPUFREQROOT/policy*/scaling_governor &
|
||||
echo userspace | sudo tee $CPUFREQROOT/policy*/scaling_governor &
|
||||
echo ondemand | tee $CPUFREQROOT/policy*/scaling_governor &
|
||||
echo userspace | tee $CPUFREQROOT/policy*/scaling_governor &
|
||||
done
|
||||
wait
|
||||
}
|
||||
|
||||
governor_race()
|
||||
{
|
||||
printf "** Test: Running ${FUNCNAME[0]} **\n"
|
||||
|
||||
save_all_governors
|
||||
|
||||
# run 8 concurrent instances
|
||||
for I in `seq 8`
|
||||
do
|
||||
quick_shuffle &
|
||||
done
|
||||
wait
|
||||
|
||||
restore_all_governors
|
||||
}
|
||||
|
||||
# Test 4
|
||||
|
|
@ -112,5 +123,8 @@ hotplug_with_updates_cpu()
|
|||
|
||||
hotplug_with_updates()
|
||||
{
|
||||
save_all_governors
|
||||
for_each_non_boot_cpu hotplug_with_updates_cpu
|
||||
wait
|
||||
restore_all_governors
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user