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:
parent
fd2656d591
commit
9f490b6cb1
3 changed files with 20 additions and 2 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,3 +55,4 @@
|
|||
# Enabled or disable the plugin. Default is True. Any other value
|
||||
# disables it.
|
||||
# enabled=False
|
||||
eeefsb=True
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Reference in a new issue