cpufrequencyscaling: update

Signed-off-by: AuxXxilium <info@auxxxilium.tech>
This commit is contained in:
AuxXxilium 2024-06-23 12:14:28 +02:00
parent de1366eaa7
commit 9a72ba9153
3 changed files with 24 additions and 20 deletions

View File

@ -3,29 +3,37 @@
# Make things safer
set -euo pipefail
rm -f /usr/sbin/stopscale
#systemctl enable cpufreqscaling.service
#systemctl start cpufreqscaling.service
if [ -f /usr/sbin/stopscale ]; then
rm -f /usr/sbin/stopscale
fi
# Get cpu cores count minus 1, to allow maping from 0
cpucorecount=$(cat /proc/cpuinfo | grep processor | wc -l)
cpucorecount=$((cpucorecount - 1))
governor=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
if [ -f "/usr/lib/modules/cpufreq_${1}.ko" ] || [ "${1}" = "schedutil" ]; then
# Set correct cpufreq governor to allow user defined frequency scaling
# Set correct cpufreq governor to allow user defined frequency scaling
if [ "${1}" == "ondemand" ] || [ "${1}" == "conservative" ]; then
if [ -f "/usr/lib/modules/cpufreq_${1}.ko" ]; then
modprobe cpufreq_${1}
if [ "$governor" != "${1}" ]; then
for i in $(seq 0 "${cpucorecount}"); do
echo "${1}" >/sys/devices/system/cpu/cpu"${i}"/cpufreq/scaling_governor
done
fi
if [ "${1}" = "ondemand" ] || [ "${1}" = "conservative" ]; then
modprobe cpufreq_${1}
fi
else
else
echo "No cpufreq_${1} module found"
exit 1
fi
else
if [ "$governor" != "${1}" ]; then
for i in $(seq 0 "${cpucorecount}"); do
echo "${1}" >/sys/devices/system/cpu/cpu"${i}"/cpufreq/scaling_governor
done
fi
fi
exit 0
governor=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
if [ "$governor" != "${1}" ]; then
systemctl restart cpufreqscaling.service
fi

View File

@ -112,10 +112,8 @@ while true; do
done
fi
governor=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
if [ "$governor" = "userspace" ]; then
if [ "$governor" == "userspace" ]; then
main
fi
sleep 0.5
done
exit 0

View File

@ -19,5 +19,3 @@ if [ "$governor" != "performance" ]; then
fi
touch /usr/sbin/stopscale
exit 0