functions: added 'cpulist2hex_invert' built-in function
It converts CPU list to hexadecimal CPU mask and inverts it.
Example:
[variables]
cpus = ${f:cpulist2hex_invert:1-2}
On machine with four CPUs it returns 00000009.
Related: rhbz#1225135
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
This commit is contained in:
parent
873679270a
commit
36370c4802
1 changed files with 20 additions and 0 deletions
20
tuned/profiles/functions/function_cpulist2hex_invert.py
Normal file
20
tuned/profiles/functions/function_cpulist2hex_invert.py
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
import os
|
||||
import tuned.logs
|
||||
import base
|
||||
from tuned.utils.commands import commands
|
||||
|
||||
log = tuned.logs.get()
|
||||
|
||||
class cpulist2hex_invert(base.Function):
|
||||
"""
|
||||
Converts CPU list to hexadecimal CPU mask and inverts it
|
||||
"""
|
||||
def __init__(self):
|
||||
# arbitrary number of arguments
|
||||
super(self.__class__, self).__init__("cpulist2hex_invert", 0)
|
||||
|
||||
def execute(self, args):
|
||||
if not super(self.__class__, self).execute(args):
|
||||
return None
|
||||
# current implementation inverts the CPU list and then converts it to hexmask
|
||||
return self._cmd.cpulist2hex(",".join(str(v) for v in self._cmd.cpulist_invert(",,".join(args))))
|
||||
Loading…
Reference in a new issue