SILENT KILLERPanel

Current Path: > > usr > lib > python3.6 > site-packages > tuned > plugins >


Operation   : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
Software     : Apache
Server IP    : 198.54.126.42 | Your IP: 216.73.216.8
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr/lib/python3.6/site-packages/tuned/plugins/

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
instance Directory - -
__init__.py File 49 bytes February 22 2024 12:23:28.
base.py File 22417 bytes February 22 2024 12:23:28.
decorators.py File 983 bytes February 22 2024 12:23:28.
exceptions.py File 99 bytes February 22 2024 12:23:28.
hotplug.py File 3928 bytes February 22 2024 12:23:28.
plugin_acpi.py File 2446 bytes February 22 2024 12:23:28.
plugin_audio.py File 3209 bytes February 22 2024 12:23:28.
plugin_bootloader.py File 25914 bytes February 22 2024 12:23:28.
plugin_cpu.py File 28218 bytes February 22 2024 12:23:28.
plugin_disk.py File 17049 bytes March 11 2025 07:42:24.
plugin_eeepc_she.py File 2947 bytes February 22 2024 12:23:28.
plugin_irqbalance.py File 3554 bytes February 22 2024 12:23:28.
plugin_modules.py File 4925 bytes February 22 2024 12:23:28.
plugin_mounts.py File 5580 bytes February 22 2024 12:23:28.
plugin_net.py File 23252 bytes February 22 2024 12:23:28.
plugin_rtentsk.py File 1109 bytes February 22 2024 12:23:28.
plugin_scheduler.py File 56255 bytes February 22 2024 12:23:28.
plugin_script.py File 3852 bytes February 22 2024 12:23:28.
plugin_scsi_host.py File 3153 bytes February 22 2024 12:23:28.
plugin_selinux.py File 2320 bytes February 22 2024 12:23:28.
plugin_service.py File 10721 bytes February 22 2024 12:23:28.
plugin_sysctl.py File 6906 bytes February 22 2024 12:23:28.
plugin_sysfs.py File 2694 bytes February 22 2024 12:23:28.
plugin_systemd.py File 5428 bytes February 22 2024 12:23:28.
plugin_uncore.py File 4723 bytes February 22 2024 12:23:28.
plugin_usb.py File 2015 bytes February 22 2024 12:23:28.
plugin_video.py File 3807 bytes February 22 2024 12:23:28.
plugin_vm.py File 3561 bytes February 22 2024 12:23:28.
repository.py File 1530 bytes February 22 2024 12:23:28.

Reading File: //usr/lib/python3.6/site-packages/tuned/plugins//plugin_eeepc_she.py

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

SILENT KILLER Tool