diff --git a/tuned/profiles/functions/function_cpulist_invert.py b/tuned/profiles/functions/function_cpulist_invert.py index 39fa369..ee66d5a 100644 --- a/tuned/profiles/functions/function_cpulist_invert.py +++ b/tuned/profiles/functions/function_cpulist_invert.py @@ -19,6 +19,4 @@ class cpulist_invert(base.Function): def execute(self, args): if not super(self.__class__, self).execute(args): return None - cpus = self._cmd.cpulist_unpack(",".join(args)) - present = self._cmd.cpulist_unpack(self._cmd.read_file("/sys/devices/system/cpu/present")) - return ",".join(str(v) for v in set(present) - set(cpus)) + return ",".join(str(v) for v in self._cmd.cpulist_invert(",".join(args))) diff --git a/tuned/utils/commands.py b/tuned/utils/commands.py index da73b12..9b3ba7b 100644 --- a/tuned/utils/commands.py +++ b/tuned/utils/commands.py @@ -155,6 +155,12 @@ class commands: return [] return sorted(list(set(rl))) + # Inverts CPU list (i.e. makes its complement) + def cpulist_invert(self, l): + cpus = self.cpulist_unpack(l) + present = self.cpulist_unpack(self.read_file("/sys/devices/system/cpu/present")) + return list(set(present) - set(cpus)) + # Converts CPU list to hexadecimal CPU mask def cpulist2hex(self, l): if l is None: