diff --git a/tuned/daemon/controller.py b/tuned/daemon/controller.py index ac711c9..2b8a70b 100644 --- a/tuned/daemon/controller.py +++ b/tuned/daemon/controller.py @@ -134,7 +134,11 @@ class Controller(tuned.exports.interfaces.ExportableInterface): if not self._daemon.is_running(): return False else: - return self.stop() and self.start() + stop_ok = self.stop() + if not stop_ok: + return False + self._daemon.reload_profile_config() + return self.start() def _switch_profile(self, profile_name, manual): was_running = self._daemon.is_running() diff --git a/tuned/daemon/daemon.py b/tuned/daemon/daemon.py index f13118b..0a55c2a 100644 --- a/tuned/daemon/daemon.py +++ b/tuned/daemon/daemon.py @@ -58,6 +58,10 @@ class Daemon(object): self._not_used.set() self._profile_applied = threading.Event() + def reload_profile_config(self): + """Read configuration files again and load profile according to them""" + self._init_profile(None) + def _init_profile(self, profile_names): manual = True if profile_names is None: