From: Arne Fitzenreiter Date: Wed, 2 Dec 2015 13:17:34 +0000 (+0100) Subject: cpufreq: change initscript for intel pstate driver. X-Git-Url: http://git.ipfire.org/?p=people%2Fjschlag%2Fipfire-2.x.git;a=commitdiff_plain;h=1f182999bc94325af39c7dc4578a37871b929f70 cpufreq: change initscript for intel pstate driver. Signed-off-by: Arne Fitzenreiter --- diff --git a/lfs/cpufrequtils b/lfs/cpufrequtils index c0eb002fa9..5a82c33a59 100644 --- a/lfs/cpufrequtils +++ b/lfs/cpufrequtils @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2010 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 # @@ -33,7 +33,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) SUP_ARCH = x86_64 i586 PROG = cpufrequtils -PAK_VER = 6 +PAK_VER = 7 DEPS = "" diff --git a/src/initscripts/init.d/cpufreq b/src/initscripts/init.d/cpufreq index 0d4cdb95b1..6a89414b2d 100644 --- a/src/initscripts/init.d/cpufreq +++ b/src/initscripts/init.d/cpufreq @@ -36,23 +36,35 @@ case "${1}" in modprobe cpufreq_powersave modprobe cpufreq_userspace - 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 - # activate cpufreq collectd module - sed -i -e "s|^#LoadPlugin cpufreq|LoadPlugin cpufreq|g" /etc/collectd.conf + driver=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver 2>/dev/null` - # 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 + case "$driver" in + intel_pstate) + # pstate use internal gov so skip this setting + # activate cpufreq collectd module + sed -i -e "s|^#LoadPlugin cpufreq|LoadPlugin cpufreq|g" /etc/collectd.conf + 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 + # activate cpufreq collectd module + sed -i -e "s|^#LoadPlugin cpufreq|LoadPlugin cpufreq|g" /etc/collectd.conf + + # 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; ;; *)