diff --git a/tuned/plugins/base.py b/tuned/plugins/base.py index b492747..023a60a 100644 --- a/tuned/plugins/base.py +++ b/tuned/plugins/base.py @@ -43,10 +43,12 @@ class Plugin(object): # Plugin configuration manipulation and helpers. # + @classmethod def _get_config_options(self): """Default configuration options for the plugin.""" return {} + @classmethod def _get_config_options_used_by_dynamic(self): """List of config options used by dynamic tuning. Their previous values will be automatically saved and restored.""" return [] diff --git a/tuned/plugins/plugin_audio.py b/tuned/plugins/plugin_audio.py index 24c30be..da6569f 100644 --- a/tuned/plugins/plugin_audio.py +++ b/tuned/plugins/plugin_audio.py @@ -42,6 +42,7 @@ class AudioPlugin(base.Plugin): except: return None + @classmethod def _get_config_options(cls): return { "timeout": 0, diff --git a/tuned/plugins/plugin_bootloader.py b/tuned/plugins/plugin_bootloader.py index be9d84a..c004ac3 100644 --- a/tuned/plugins/plugin_bootloader.py +++ b/tuned/plugins/plugin_bootloader.py @@ -32,6 +32,7 @@ class BootloaderPlugin(base.Plugin): def _instance_cleanup(self, instance): pass + @classmethod def _get_config_options(cls): return { "grub2_cfg_file": None, diff --git a/tuned/plugins/plugin_cpu.py b/tuned/plugins/plugin_cpu.py index 0a26503..a00f283 100644 --- a/tuned/plugins/plugin_cpu.py +++ b/tuned/plugins/plugin_cpu.py @@ -37,6 +37,7 @@ class CPULatencyPlugin(base.Plugin): self._assigned_devices = set() self._free_devices = self._devices.copy() + @classmethod def _get_config_options(self): return { "load_threshold" : 0.2, diff --git a/tuned/plugins/plugin_disk.py b/tuned/plugins/plugin_disk.py index 5d1d0e6..ed28669 100644 --- a/tuned/plugins/plugin_disk.py +++ b/tuned/plugins/plugin_disk.py @@ -59,6 +59,7 @@ class DiskPlugin(hotplug.Plugin): instance._load_monitor.remove_device(device_name) super(self.__class__, self)._removed_device_unapply_tuning(instance, device_name) + @classmethod def _get_config_options(cls): return { "dynamic" : True, # FIXME: do we want this default? @@ -71,6 +72,7 @@ class DiskPlugin(hotplug.Plugin): "scheduler_quantum" : None, } + @classmethod def _get_config_options_used_by_dynamic(cls): return [ "apm", diff --git a/tuned/plugins/plugin_eeepc_she.py b/tuned/plugins/plugin_eeepc_she.py index 4bb02b9..5ad0e63 100644 --- a/tuned/plugins/plugin_eeepc_she.py +++ b/tuned/plugins/plugin_eeepc_she.py @@ -20,6 +20,7 @@ class EeePCSHEPlugin(base.Plugin): raise exceptions.NotSupportedPluginException("Plugin is not supported on your hardware.") super(self.__class__, self).__init__(*args, **kwargs) + @classmethod def _get_config_options(self): return { "load_threshold_normal" : 0.6, diff --git a/tuned/plugins/plugin_mounts.py b/tuned/plugins/plugin_mounts.py index af68c58..85ff7ac 100644 --- a/tuned/plugins/plugin_mounts.py +++ b/tuned/plugins/plugin_mounts.py @@ -53,6 +53,7 @@ class MountsPlugin(base.Plugin): self._assigned_devices = set() self._free_devices = self._devices.copy() + @classmethod def _get_config_options(self): return { "disable_barriers": None, diff --git a/tuned/plugins/plugin_net.py b/tuned/plugins/plugin_net.py index 88f0f6d..c11b99f 100644 --- a/tuned/plugins/plugin_net.py +++ b/tuned/plugins/plugin_net.py @@ -74,6 +74,7 @@ class NetTuningPlugin(base.Plugin): log.debug("%s load: read %0.2f, write %0.2f" % (device, stats["read"], stats["write"])) log.debug("%s idle: read %d, write %d, level %d" % (device, idle["read"], idle["write"], idle["level"])) + @classmethod def _get_config_options(cls): return { "wake_on_lan": None, diff --git a/tuned/plugins/plugin_script.py b/tuned/plugins/plugin_script.py index d2e1078..d43c40a 100644 --- a/tuned/plugins/plugin_script.py +++ b/tuned/plugins/plugin_script.py @@ -11,6 +11,7 @@ class ScriptPlugin(base.Plugin): Plugin for running custom scripts with profile activation and deactivation. """ + @classmethod def _get_config_options(self): return { "script" : None, diff --git a/tuned/plugins/plugin_selinux.py b/tuned/plugins/plugin_selinux.py index 4f95373..650c486 100644 --- a/tuned/plugins/plugin_selinux.py +++ b/tuned/plugins/plugin_selinux.py @@ -28,6 +28,7 @@ class SelinuxPlugin(base.Plugin): self._cache_threshold_path = os.path.join(self._selinux_path, "avc", "cache_threshold") super(self.__class__, self).__init__(*args, **kwargs) + @classmethod def _get_config_options(self): return { "avc_cache_threshold" : None, diff --git a/tuned/plugins/plugin_usb.py b/tuned/plugins/plugin_usb.py index 8940ca1..6b95f94 100644 --- a/tuned/plugins/plugin_usb.py +++ b/tuned/plugins/plugin_usb.py @@ -21,6 +21,7 @@ class USBPlugin(base.Plugin): self._free_devices = self._devices.copy() self._cmd = commands() + @classmethod def _get_config_options(self): return { "autosuspend" : None, diff --git a/tuned/plugins/plugin_video.py b/tuned/plugins/plugin_video.py index c3df8c0..6aeb1b4 100644 --- a/tuned/plugins/plugin_video.py +++ b/tuned/plugins/plugin_video.py @@ -22,6 +22,7 @@ class VideoPlugin(base.Plugin): self._free_devices = self._devices.copy() self._cmd = commands() + @classmethod def _get_config_options(self): return { "radeon_powersave" : None, diff --git a/tuned/plugins/plugin_vm.py b/tuned/plugins/plugin_vm.py index 0b0f298..c4c936c 100644 --- a/tuned/plugins/plugin_vm.py +++ b/tuned/plugins/plugin_vm.py @@ -15,6 +15,7 @@ class VMPlugin(base.Plugin): Plugin for tuning memory management. """ + @classmethod def _get_config_options(self): return { "transparent_hugepages" : None,