PATH:
usr
/
lib
/
python2.7
/
site-packages
/
tuned
/
plugins
from . import base from . import exceptions import tuned.logs from tuned.utils.commands import commands import os log = tuned.logs.get() class EeePCSHEPlugin(base.Plugin): """ Plugin for tuning FSB (front side bus) speed on Asus EEE PCs with SHE (Super Hybrid Engine) support. """ def __init__(self, *args, **kwargs): self._cmd = commands() self._control_file = "/sys/devices/platform/eeepc/cpufv" if not os.path.isfile(self._control_file): self._control_file = "/sys/devices/platform/eeepc-wmi/cpufv" if not os.path.isfile(self._control_file): raise exceptions.NotSupportedPluginException("Plugin is not supported on your hardware.") super(EeePCSHEPlugin, self).__init__(*args, **kwargs) @classmethod def _get_config_options(self): return { "load_threshold_normal" : 0.6, "load_threshold_powersave" : 0.4, "she_powersave" : 2, "she_normal" : 1, } def _instance_init(self, instance): instance._has_static_tuning = False instance._has_dynamic_tuning = True instance._she_mode = None instance._load_monitor = self._monitors_repository.create("load", None) def _instance_cleanup(self, instance): if instance._load_monitor is not None: self._monitors_repository.delete(instance._load_monitor) instance._load_monitor = None def _instance_update_dynamic(self, instance, device): load = instance._load_monitor.get_load()["system"] if load <= instance.options["load_threshold_powersave"]: self._set_she_mode(instance, "powersave") elif load >= instance.options["load_threshold_normal"]: self._set_she_mode(instance, "normal") def _instance_unapply_dynamic(self, instance, device): # FIXME: restore previous value self._set_she_mode(instance, "normal") def _set_she_mode(self, instance, new_mode): new_mode_numeric = int(instance.options["she_%s" % new_mode]) if instance._she_mode != new_mode_numeric: log.info("new eeepc_she mode %s (%d) " % (new_mode, new_mode_numeric)) self._cmd.write_to_file(self._control_file, "%s" % new_mode_numeric) self._she_mode = new_mode_numeric
[-] plugin_script.pyo
[edit]
[-] hotplug.py
[edit]
[-] plugin_net.pyo
[edit]
[-] __init__.pyo
[edit]
[-] repository.pyo
[edit]
[-] plugin_systemd.pyc
[edit]
[-] plugin_systemd.pyo
[edit]
[-] plugin_net.pyc
[edit]
[-] base.pyo
[edit]
[-] plugin_mounts.pyc
[edit]
[-] plugin_cpu.pyo
[edit]
[-] plugin_sysctl.pyo
[edit]
[-] hotplug.pyc
[edit]
[-] repository.py
[edit]
[-] exceptions.py
[edit]
[+]
..
[-] plugin_vm.pyc
[edit]
[-] plugin_selinux.py
[edit]
[-] plugin_sysfs.pyo
[edit]
[-] plugin_mounts.pyo
[edit]
[-] exceptions.pyc
[edit]
[-] plugin_video.py
[edit]
[-] plugin_bootloader.pyc
[edit]
[-] decorators.pyo
[edit]
[-] __init__.pyc
[edit]
[-] plugin_sysfs.py
[edit]
[-] plugin_usb.pyc
[edit]
[-] plugin_scsi_host.py
[edit]
[-] exceptions.pyo
[edit]
[-] plugin_scheduler.pyo
[edit]
[-] plugin_disk.pyc
[edit]
[-] plugin_modules.py
[edit]
[-] plugin_eeepc_she.pyc
[edit]
[-] base.py
[edit]
[-] plugin_selinux.pyc
[edit]
[-] plugin_usb.pyo
[edit]
[-] plugin_script.py
[edit]
[-] hotplug.pyo
[edit]
[-] plugin_cpu.py
[edit]
[-] plugin_cpu.pyc
[edit]
[-] plugin_modules.pyo
[edit]
[-] plugin_script.pyc
[edit]
[-] decorators.pyc
[edit]
[-] plugin_sysctl.py
[edit]
[-] plugin_scheduler.py
[edit]
[-] plugin_systemd.py
[edit]
[-] plugin_mounts.py
[edit]
[-] repository.pyc
[edit]
[-] base.pyc
[edit]
[-] plugin_sysfs.pyc
[edit]
[-] plugin_audio.py
[edit]
[-] plugin_scsi_host.pyo
[edit]
[-] plugin_vm.pyo
[edit]
[-] plugin_bootloader.py
[edit]
[-] plugin_selinux.pyo
[edit]
[+]
instance
[-] plugin_modules.pyc
[edit]
[-] plugin_eeepc_she.py
[edit]
[-] plugin_vm.py
[edit]
[-] plugin_bootloader.pyo
[edit]
[-] plugin_scsi_host.pyc
[edit]
[-] __init__.py
[edit]
[-] plugin_audio.pyo
[edit]
[-] decorators.py
[edit]
[-] plugin_audio.pyc
[edit]
[-] plugin_scheduler.pyc
[edit]
[-] plugin_sysctl.pyc
[edit]
[-] plugin_video.pyc
[edit]
[-] plugin_disk.py
[edit]
[-] plugin_disk.pyo
[edit]
[-] plugin_eeepc_she.pyo
[edit]
[-] plugin_net.py
[edit]
[-] plugin_video.pyo
[edit]
[-] plugin_usb.py
[edit]