/usr/lib/python3.6/site-packages/tuned/plugins
NameSizeModeActions
instance/-0755rm
__pycache__/-0755rm
base.py224170644editdlrm
decorators.py9830644editdlrm
exceptions.py990644editdlrm
hotplug.py39280644editdlrm
plugin_acpi.py24460644editdlrm
plugin_audio.py32090644editdlrm
plugin_bootloader.py259140644editdlrm
plugin_cpu.py282180644editdlrm
plugin_disk.py170490644editdlrm
plugin_eeepc_she.py29470644editdlrm
plugin_irqbalance.py35540644editdlrm
plugin_modules.py49250644editdlrm
plugin_mounts.py55800644editdlrm
plugin_net.py232520644editdlrm
plugin_rtentsk.py11090644editdlrm
plugin_scheduler.py562550644editdlrm
plugin_script.py38520644editdlrm
plugin_scsi_host.py31530644editdlrm
plugin_selinux.py23200644editdlrm
plugin_service.py107210644editdlrm
plugin_sysctl.py69060644editdlrm
plugin_sysfs.py26940644editdlrm
plugin_systemd.py54280644editdlrm
plugin_uncore.py47230644editdlrm
plugin_usb.py20150644editdlrm
plugin_video.py38070644editdlrm
plugin_vm.py35610644editdlrm
repository.py15300644editdlrm
__init__.py490644editdlrm
Edit: /usr/lib/python3.6/site-packages/tuned/plugins/plugin_eeepc_she.py (2947B)
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): """ `eeepc_she`:: Dynamically sets the front-side bus (FSB) speed according to the CPU load. This feature can be found on some netbooks and is also known as the Asus Super Hybrid Engine. If the CPU load is lower or equal to the value specified by the [option]`load_threshold_powersave` option, the plug-in sets the FSB speed to the value specified by the [option]`she_powersave` option. If the CPU load is higher or equal to the value specified by the [option]`load_threshold_normal` option, it sets the FSB speed to the value specified by the [option]`she_normal` option. Static tuning is not supported and the plug-in is transparently disabled if the hardware support for this feature is not detected. NOTE: For details about the FSB frequencies and corresponding values, see link:https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-platform-eeepc-laptop[the kernel documentation]. The provided defaults should work for most users. """ 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