1
0
Fork 0

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:
Jaroslav Škarvada 2015-06-10 13:53:36 +02:00
parent 873679270a
commit 36370c4802

View 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))))