diff --git a/tuned/plugins/base.py b/tuned/plugins/base.py index ac95b56..47895e1 100644 --- a/tuned/plugins/base.py +++ b/tuned/plugins/base.py @@ -124,7 +124,7 @@ class Plugin(object): self._assigned_devices = set() self._free_devices = set() - def assign_free_devices(self, instance): + def _assign_free_devices_to_instance(self, instance): # devices are not supported if self._devices is None: return @@ -147,6 +147,11 @@ class Plugin(object): self._assigned_devices |= to_assign self._free_devices -= to_assign + def assign_free_devices(self): + log.debug("assigning devices to all instances") + for instance in reversed(self._instances): + self._assign_free_devices_to_instance(self._instances[instance]) + def release_devices(self, instance): # devices are not supported if self._devices is None: diff --git a/tuned/units/manager.py b/tuned/units/manager.py index 322a5ec..e35bdca 100644 --- a/tuned/units/manager.py +++ b/tuned/units/manager.py @@ -60,9 +60,7 @@ class Manager(object): new_instance = plugin.create_instance(instance_info.name, instance_info.devices, instance_info.options) created_instances.append(new_instance) - for instance in reversed(created_instances): - log.debug("assigning devices to '%s'" % instance.name) - plugin.assign_free_devices(instance) + plugin.assign_free_devices() for instance in created_instances: log.debug("initializing '%s'" % instance.name)