1
0
Fork 0

cpu plugin: add EEEPC dynamic FSB reclocking

The Asus FSB reclocking feature is also known as Super Hybrid Engine (SHE).
The feature can be enabled in tuned.conf by setting the eeefsb to True.
It is enabled by default in the laptop-battery-powersave profile.

Signed-off-by: Jan Vcelak <jvcelak@redhat.com>
This commit is contained in:
Jaroslav Škarvada 2011-03-14 09:49:26 +01:00 committed by Jan Vcelak
parent fd2656d591
commit 9f490b6cb1
3 changed files with 20 additions and 2 deletions

View file

@ -10,7 +10,6 @@ start() {
enable_snd_ac97_powersave
disable_cd_polling
enable_wifi_powersave
eee_set_reduced_fsb
return 0
}
@ -23,7 +22,6 @@ stop() {
enable_snd_ac97_powersave
enable_cd_polling
disable_wifi_powersave
eee_set_normal_fsb
return 0
}

View file

@ -55,3 +55,4 @@
# Enabled or disable the plugin. Default is True. Any other value
# disables it.
# enabled=False
eeefsb=True

View file

@ -25,10 +25,15 @@ class CPUTuning:
config_section = "CPUTuning"
eeefsb_control = "/sys/devices/platform/eeepc/cpufv"
def __init__(self):
self.latency = 100
self.enabled = True
self.eeefsb = False
self.fsbreduced = False
def init(self, config):
log.debug("Init")
@ -40,6 +45,13 @@ class CPUTuning:
except:
self.enabled = False
if self.config.has_option(self.config_section, "eeefsb"):
self.eeefsb = (self.config.get(self.config_section, "eeefsb") == "True")
try:
open(self.eeefsb_control, "w")
except:
self.eeefsb = False
log.info("Module is %s" % ("enabled" if self.enabled else "disabled"))
def cleanup(self):
@ -60,5 +72,12 @@ class CPUTuning:
log.debug("Setting latency to 100")
self.latency = 100
open("/dev/cpu_dma_latency", "w").write("100\n")
if self.eeefsb:
if not self.fsbreduced and loadavg < 0.4:
open(self.eeefsb_control, "w").write("2\n")
self.fsbreduced = True
if self.fsbreduced and loadavg > 0.5:
open(self.eeefsb_control, "w").write("1\n")
self.fsbreduced = False
_plugin = CPUTuning()