From 51fd73ea2b1c04204cfb3005425b5e9794d833e8 Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Fri, 16 Feb 2024 16:17:47 +0100 Subject: [PATCH] cpufrequtils: fix initskript for amd-pstate the initskript loads a test-modul for amd-pstate (which traces on intel) and off course reports errors if firmware settings are missing. this also fix the error at start because also amd-pstate doesn't support ondemand mode. Signed-off-by: Arne Fitzenreiter --- lfs/cpufrequtils | 2 +- src/initscripts/packages/cpufreq | 45 ++++++++++++++++---------------- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/lfs/cpufrequtils b/lfs/cpufrequtils index dab2540142..4bd5d0e513 100644 --- a/lfs/cpufrequtils +++ b/lfs/cpufrequtils @@ -34,7 +34,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = cpufrequtils -PAK_VER = 12 +PAK_VER = 13 DEPS = diff --git a/src/initscripts/packages/cpufreq b/src/initscripts/packages/cpufreq index beee532b50..f133f3488b 100644 --- a/src/initscripts/packages/cpufreq +++ b/src/initscripts/packages/cpufreq @@ -2,7 +2,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2022 IPFire Team # +# Copyright (C) 2007-2024 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -22,13 +22,15 @@ . /etc/sysconfig/rc . ${rc_functions} +GOV="ondemand" + case "${1}" in start) boot_mesg -n "Starting cpufreq... " # try cpufreq hardware depend modules for i in $(find /lib/modules/$(uname -r)/kernel/drivers/cpufreq \ - ! -name speedstep-lib.ko.xz ! -name p4-clockmod.ko.xz ! -name "cpufreq_*" ! -name mperf.ko.xz | sort -d -r); do + ! -name speedstep-lib.ko.xz ! -name p4-clockmod.ko.xz ! -name amd-pstate* ! -name "cpufreq_*" ! -name mperf.ko.xz | sort -d -r); do module=$(basename $i | cut -d. -f1); modprobe $module > /dev/null 2>&1; if [ ${?} = 0 ]; then @@ -46,28 +48,27 @@ case "${1}" in driver=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver 2>/dev/null` case "$driver" in - intel_pstate) - # pstate use internal gov so skip this setting + *pstate*) + # pstate not support ondemand so use powersave + GOV="powersave" echo_ok; ;; - *) - CPUCOUNT=`ls /sys/devices/system/cpu/cpu*/cpufreq/affected_cpus 2> /dev/null | wc -l `; - let CPUCOUNT-=1 - # Set the governor to ondemand to test if it works - cpufreq-set -g ondemand - if [ ${?} = 0 ]; then - # Set the governor to ondemand for all cpus - for i in `seq 0 $CPUCOUNT`; - do - cpufreq-set -c $i -g ondemand - done - echo_ok; - else - echo_failure; - fi - ;; - esac - exit 0; + esac + CPUCOUNT=`ls /sys/devices/system/cpu/cpu*/cpufreq/affected_cpus 2> /dev/null | wc -l `; + let CPUCOUNT-=1 + # Set the governor to test if it works + cpufreq-set -g $GOV + if [ ${?} = 0 ]; then + # Set the governor to ondemand for all cpus + for i in `seq 0 $CPUCOUNT`; + do + cpufreq-set -c $i -g $GOV + done + echo_ok; + else + echo_failure; + fi + exit 0 ;; *) echo "Usage: ${0} {start}" -- 2.39.2