PK!{I7__pycache__/function_assertion_non_equal.cpython-36.pycnu[3 s     PK!}22=__pycache__/function_calc_isolated_cores.cpython-36.opt-1.pycnu[3 s    PK!}227__pycache__/function_calc_isolated_cores.cpython-36.pycnu[3 s    PK!jTT?__pycache__/function_check_net_queue_count.cpython-36.opt-1.pycnu[3 s  PK!jTT9__pycache__/function_check_net_queue_count.cpython-36.pycnu[3 s  PK![57__pycache__/function_cpuinfo_check.cpython-36.opt-1.pycnu[3 s  PK![51__pycache__/function_cpuinfo_check.cpython-36.pycnu[3 s  PK!A6__pycache__/function_cpulist2devs.cpython-36.opt-1.pycnu[3 s  PK!A0__pycache__/function_cpulist2devs.cpython-36.pycnu[3 s  PK!5 5__pycache__/function_cpulist2hex.cpython-36.opt-1.pycnu[3 s    PK!5 /__pycache__/function_cpulist2hex.cpython-36.pycnu[3 s    PK!ށ||<__pycache__/function_cpulist2hex_invert.cpython-36.opt-1.pycnu[3 tt|j|sdS|jjdjdd|jjdj|DS)N,css|]}t|VqdS)N)str).0vr r r sz-cpulist2hex_invert.execute..z,,)rrexecuteZ_cmdZ cpulist2hexjoinZcpulist_invert)rargs)r r r rszcpulist2hex_invert.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!ށ||6__pycache__/function_cpulist2hex_invert.cpython-36.pycnu[3 tt|j|sdS|jjdjdd|jjdj|DS)N,css|]}t|VqdS)N)str).0vr r r sz-cpulist2hex_invert.execute..z,,)rrexecuteZ_cmdZ cpulist2hexjoinZcpulist_invert)rargs)r r r rszcpulist2hex_invert.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!1?8__pycache__/function_cpulist_invert.cpython-36.opt-1.pycnu[3 sz)cpulist_invert.execute..z,,)rrexecutejoinZ_cmd)rargs)r r r rszcpulist_invert.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!1?2__pycache__/function_cpulist_invert.cpython-36.pycnu[3 sz)cpulist_invert.execute..z,,)rrexecutejoinZ_cmd)rargs)r r r rszcpulist_invert.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!8__pycache__/function_cpulist_online.cpython-36.opt-1.pycnu[3 sz)cpulist_online.execute..)rrexecuteZ_cmdZcpulist_unpackjoinZ read_file)rargsZcpus)r )rr rs zcpulist_online.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!2__pycache__/function_cpulist_online.cpython-36.pycnu[3 sz)cpulist_online.execute..)rrexecuteZ_cmdZcpulist_unpackjoinZ read_file)rargsZcpus)r )rr rs zcpulist_online.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!k16__pycache__/function_cpulist_pack.cpython-36.opt-1.pycnu[3 sz'cpulist_pack.execute..z,,)rrexecutejoinZ_cmd)rargs)r r r rszcpulist_pack.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!k10__pycache__/function_cpulist_pack.cpython-36.pycnu[3 sz'cpulist_pack.execute..z,,)rrexecutejoinZ_cmd)rargs)r r r rszcpulist_pack.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!E.9__pycache__/function_cpulist_present.cpython-36.opt-1.pycnu[3 sz*cpulist_present.execute..) rrexecuteZ_cmdZcpulist_unpackjoinZ read_filesortedlistset intersection)rargsZcpusZpresent)r r r rs zcpulist_present.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!E.3__pycache__/function_cpulist_present.cpython-36.pycnu[3 sz*cpulist_present.execute..) rrexecuteZ_cmdZcpulist_unpackjoinZ read_filesortedlistset intersection)rargsZcpusZpresent)r r r rs zcpulist_present.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!nII8__pycache__/function_cpulist_unpack.cpython-36.opt-1.pycnu[3 sz)cpulist_unpack.execute..z,,)rrexecutejoinZ_cmd)rargs)r r r rszcpulist_unpack.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!nII2__pycache__/function_cpulist_unpack.cpython-36.pycnu[3 sz)cpulist_unpack.execute..z,,)rrexecutejoinZ_cmd)rargs)r r r rszcpulist_unpack.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!q{nn.__pycache__/function_exec.cpython-36.opt-1.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS)executez0 Executes process and substitutes its output. cstt|jddddS)Nexecrr)superr__init__)self) __class__#/usr/lib/python3.6/function_exec.pyr szexecute.__init__cs4tt|j|sdS|jj|\}}|dkr0|SdS)Nr)rrZ_cmd)r argsretout)r r r rs zexecute.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZFunctionrr r r r s  PK!q{nn(__pycache__/function_exec.cpython-36.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS)executez0 Executes process and substitutes its output. cstt|jddddS)Nexecrr)superr__init__)self) __class__#/usr/lib/python3.6/function_exec.pyr szexecute.__init__cs4tt|j|sdS|jj|\}}|dkr0|SdS)Nr)rrZ_cmd)r argsretout)r r r rs zexecute.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZFunctionrr r r r s  PK!Af;;5__pycache__/function_hex2cpulist.cpython-36.opt-1.pycnu[3 sz&hex2cpulist.execute..r)rrexecutejoinZ_cmd)rargs)r r r rszhex2cpulist.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK!Af;;/__pycache__/function_hex2cpulist.cpython-36.pycnu[3 sz&hex2cpulist.execute..r)rrexecutejoinZ_cmd)rargs)r r r rszhex2cpulist.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZlogsgetlogZFunctionrr r r r s    PK! {{.__pycache__/function_kb2s.cpython-36.opt-1.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS)kb2sz* Conversion function: kbytes to sectors cstt|jddddS)Nrr)superr__init__)self) __class__#/usr/lib/python3.6/function_kb2s.pyr sz kb2s.__init__c sBtt|j|sdSytt|ddStk r<dSXdS)Nr)rrexecutestrint ValueError)rargs)r r r r s z kb2s.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZFunctionrr r r r s  PK! {{(__pycache__/function_kb2s.cpython-36.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS)kb2sz* Conversion function: kbytes to sectors cstt|jddddS)Nrr)superr__init__)self) __class__#/usr/lib/python3.6/function_kb2s.pyr sz kb2s.__init__c sBtt|j|sdSytt|ddStk r<dSXdS)Nr)rrexecutestrint ValueError)rargs)r r r r s z kb2s.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZFunctionrr r r r s  PK!AL>__pycache__/function_regex_search_ternary.cpython-36.opt-1.pycnu[3 s PK!AL8__pycache__/function_regex_search_ternary.cpython-36.pycnu[3 s PK!!B.__pycache__/function_s2kb.cpython-36.opt-1.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS)s2kbz* Conversion function: sectors to kbytes cstt|jddddS)Nrr)superr__init__)self) __class__#/usr/lib/python3.6/function_s2kb.pyr sz s2kb.__init__c sJtt|j|sdSytttt|ddStk rDdSXdS)Nr)rrexecutestrintround ValueError)rargs)r r r r s z s2kb.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZFunctionrr r r r s  PK!!B(__pycache__/function_s2kb.cpython-36.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS)s2kbz* Conversion function: sectors to kbytes cstt|jddddS)Nrr)superr__init__)self) __class__#/usr/lib/python3.6/function_s2kb.pyr sz s2kb.__init__c sJtt|j|sdSytttt|ddStk rDdSXdS)Nr)rrexecutestrintround ValueError)rargs)r r r r s z s2kb.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZFunctionrr r r r s  PK!z0OO/__pycache__/function_strip.cpython-36.opt-1.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS)stripz0 Makes string from all arguments and strip it cstt|jddddS)Nrrr)superr__init__)self) __class__$/usr/lib/python3.6/function_strip.pyr szstrip.__init__cs"tt|j|sdSdj|jS)N)rrexecutejoin)rargs)r r r r sz strip.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedr rZtuned.utils.commandsrZFunctionrr r r r s  PK!z0OO)__pycache__/function_strip.cpython-36.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS)stripz0 Makes string from all arguments and strip it cstt|jddddS)Nrrr)superr__init__)self) __class__$/usr/lib/python3.6/function_strip.pyr szstrip.__init__cs"tt|j|sdSdj|jS)N)rrexecutejoin)rargs)r r r r sz strip.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedr rZtuned.utils.commandsrZFunctionrr r r r s  PK!Jbo""4__pycache__/function_virt_check.cpython-36.opt-1.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS) virt_checkz Checks whether running inside virtual machine (VM) or on bare metal. If running inside VM expands to argument 1, otherwise expands to argument 2 (even on error). cstt|jddddS)Nr)superr__init__)self) __class__)/usr/lib/python3.6/function_virt_check.pyr szvirt_check.__init__csJtt|j|sdS|jjdg\}}|dkrBt|dkrB|dS|dS)Nz virt-whatrr)rrexecuteZ_cmdlen)r argsretout)r r r r s zvirt_check.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZFunctionrr r r r s  PK!Jbo"".__pycache__/function_virt_check.cpython-36.pycnu[3 ddlZddlZddlmZddlmZGdddejZdS)N)base)commandscs,eZdZdZfddZfddZZS) virt_checkz Checks whether running inside virtual machine (VM) or on bare metal. If running inside VM expands to argument 1, otherwise expands to argument 2 (even on error). cstt|jddddS)Nr)superr__init__)self) __class__)/usr/lib/python3.6/function_virt_check.pyr szvirt_check.__init__csJtt|j|sdS|jjdg\}}|dkrBt|dkrB|dS|dS)Nz virt-whatrr)rrexecuteZ_cmdlen)r argsretout)r r r r s zvirt_check.execute)__name__ __module__ __qualname____doc__rr __classcell__r r )r r rs r) osZ tuned.logsZtunedrZtuned.utils.commandsrZFunctionrr r r r s  PK!3wB B *__pycache__/functions.cpython-36.opt-1.pycnu[3 1sz+Functions._process_func..z\w+$rzinvalid function name '%s'zfunction '%s' not implemented) resplitrr matchlogerrorrZ load_func ImportErrorZexecuter)rZ_fromZslfrr r r _process_func-s  zFunctions._process_funcc Cs|j|x|j|jkr|jdkrpy|jj}Wn$tk rVtjd||j SX|ds|j |dn|j ddkr|j |j |jdkrd|_ nd |_ |jd7_q Wt|jrtjd ||j S) N}z.invalid variable syntax, non pair '}' in: '%s'rrr"z${\TFz.invalid variable syntax, non pair '{' in: '%s')rr rrrpop IndexErrorr&r'rr*rrrr)rrZsir r r _process?s&     zFunctions._processcCs(|dks|dkr|Stjdd|j|S)Nr z \\(\${f:.*})z\1)r#subr/)rrr r r expandVszFunctions.expandN)r ) __name__ __module__ __qualname____doc__r rrrrrr*r/r1r r r r r s r)osr#Zglobr rZ tuned.logsZtunedZ tuned.constsZconstsZtuned.utils.commandsrZlogsgetr&cmdrr r r r s    PK!3wB B $__pycache__/functions.cpython-36.pycnu[3 1sz+Functions._process_func..z\w+$rzinvalid function name '%s'zfunction '%s' not implemented) resplitrr matchlogerrorrZ load_func ImportErrorZexecuter)rZ_fromZslfrr r r _process_func-s  zFunctions._process_funcc Cs|j|x|j|jkr|jdkrpy|jj}Wn$tk rVtjd||j SX|ds|j |dn|j ddkr|j |j |jdkrd|_ nd |_ |jd7_q Wt|jrtjd ||j S) N}z.invalid variable syntax, non pair '}' in: '%s'rrr"z${\TFz.invalid variable syntax, non pair '{' in: '%s')rr rrrpop IndexErrorr&r'rr*rrrr)rrZsir r r _process?s&     zFunctions._processcCs(|dks|dkr|Stjdd|j|S)Nr z \\(\${f:.*})z\1)r#subr/)rrr r r expandVszFunctions.expandN)r ) __name__ __module__ __qualname____doc__r rrrrrr*r/r1r r r r r s r)osr#Zglobr rZ tuned.logsZtunedZ tuned.constsZconstsZtuned.utils.commandsrZlogsgetr&cmdrr r r r s    PK!_+__pycache__/repository.cpython-36.opt-1.pycnu[3 tjd|x*t|jjD]\}}||kr|j|=qWdS)Nzremoving function %s)rrlistr items)r Zfunctionkvr r r delete&szRepository.delete) __name__ __module__ __qualname__rpropertyrrrrr __classcell__r r )r r r s    r)Ztuned.utils.plugin_loaderrrZ tuned.logsrZ tuned.constsrZtuned.utils.commandsrZlogsgetrrr r r r s     PK!33%__pycache__/repository.cpython-36.pycnu[3 s     PK!m)__pycache__/__init__.cpython-36.opt-1.pycnu[3 sPK!m#__pycache__/__init__.cpython-36.pycnu[3 sPK!c.mm%__pycache__/base.cpython-36.opt-1.pycnu[3 s  PK!c.mm__pycache__/base.cpython-36.pycnu[3 s  PK!D3__pycache__/function_assertion.cpython-36.opt-1.pycnu[3 s     PK!D-__pycache__/function_assertion.cpython-36.pycnu[3 s     PK!{I=__pycache__/function_assertion_non_equal.cpython-36.opt-1.pycnu[3 s     PK!QW## __init__.pynu[from .repository import Repository PK!base.pynu[import os import tuned.logs from tuned.utils.commands import commands log = tuned.logs.get() class Function(object): """ Built-in function """ def __init__(self, name, nargs_max, nargs_min = None): self._name = name self._nargs_max = nargs_max self._nargs_min = nargs_min self._cmd = commands() # checks arguments # nargs_max - maximal number of arguments, there mustn't be more arguments, # if nargs_max is 0, number of arguments is unlimited # nargs_min - minimal number of arguments, if not None there must # be the same number of arguments or more @classmethod def _check_args(cls, args, nargs_max, nargs_min = None): if args is None or nargs_max is None: return False la = len(args) return (nargs_max == 0 or nargs_max >= la) and (nargs_min is None or nargs_min <= la) def execute(self, args): if self._check_args(args, self._nargs_max, self._nargs_min): return True else: log.error("invalid number of arguments for builtin function '%s'" % self._name) return False PK!Ffunction_assertion.pynu[import os import tuned.logs from . import base from tuned.utils.commands import commands from tuned.profiles.exceptions import InvalidProfileException log = tuned.logs.get() class assertion(base.Function): """ Assertion: compares argument 2 with argument 3. If they don't match it logs text from argument 1 and throws InvalidProfileException. This exception will abort profile loading. """ def __init__(self): # 3 arguments super(assertion, self).__init__("assertion", 3, 3) def execute(self, args): if not super(assertion, self).execute(args): return None if args[1] != args[2]: log.error("assertion '%s' failed: '%s' != '%s'" % (args[0], args[1], args[2])) raise InvalidProfileException("Assertion '%s' failed." % args[0]) return None PK!++function_assertion_non_equal.pynu[import os import tuned.logs from . import base from tuned.utils.commands import commands from tuned.profiles.exceptions import InvalidProfileException log = tuned.logs.get() class assertion_non_equal(base.Function): """ Assertion non equal: compares argument 2 with argument 3. If they match it logs text from argument 1 and throws InvalidProfileException. This exception will abort profile loading. """ def __init__(self): # 3 arguments super(assertion_non_equal, self).__init__("assertion_non_equal", 3, 3) def execute(self, args): if not super(assertion_non_equal, self).execute(args): return None if args[1] == args[2]: log.error("assertion '%s' failed: '%s' == '%s'" % (args[0], args[1], args[2])) raise InvalidProfileException("Assertion '%s' failed." % args[0]) return None PK!0Nkkfunction_calc_isolated_cores.pynu[import os import glob import tuned.logs from . import base import tuned.consts as consts log = tuned.logs.get() class calc_isolated_cores(base.Function): """ Calculates and returns isolated cores. The argument specifies how many cores per socket reserve for housekeeping. If not specified, 1 core per socket is reserved for housekeeping and the rest is isolated. """ def __init__(self): # max 1 argument super(calc_isolated_cores, self).__init__("calc_isolated_cores", 1) def execute(self, args): if not super(calc_isolated_cores, self).execute(args): return None cpus_reserve = 1 if len(args) > 0: if not args[0].isdecimal() or int(args[0]) < 0: log.error("invalid argument '%s' for builtin function '%s', it must be non-negative integer" % (args[0], self._name)) return None else: cpus_reserve = int(args[0]) topo = {} for cpu in glob.iglob(os.path.join(consts.SYSFS_CPUS_PATH, "cpu*")): cpuid = os.path.basename(cpu)[3:] if cpuid.isdecimal(): physical_package_id = os.path.join(cpu, "topology/physical_package_id") # Show no errors when the physical_package_id file does not exist -- the CPU may be offline. if not os.path.exists(physical_package_id): log.debug("file '%s' does not exist, cpu%s offline?" % (physical_package_id, cpuid)) continue socket = self._cmd.read_file(physical_package_id).strip() if socket.isdecimal(): topo[socket] = topo.get(socket, []) + [cpuid] isol_cpus = [] for cpus in topo.values(): cpus.sort(key = int) isol_cpus = isol_cpus + cpus[cpus_reserve:] isol_cpus.sort(key = int) return ",".join(isol_cpus) PK!Q!function_check_net_queue_count.pynu[import tuned.logs from . import base log = tuned.logs.get() class check_net_queue_count(base.Function): """ Checks whether the user has specified a queue count for net devices. If not, return the number of housekeeping CPUs. """ def __init__(self): # 1 argument super(check_net_queue_count, self).__init__("check_net_queue_count", 1, 1) def execute(self, args): if not super(check_net_queue_count, self).execute(args): return None if args[0].isdigit(): return args[0] (ret, out) = self._cmd.execute(["nproc"]) log.warn("net-dev queue count is not correctly specified, setting it to HK CPUs %s" % (out)) return out PK!nfunction_cpuinfo_check.pynu[import re import tuned.logs from . import base log = tuned.logs.get() class cpuinfo_check(base.Function): """ Checks regexes against /proc/cpuinfo. Accepts arguments in the following form: REGEX1, STR1, REGEX2, STR2, ...[, STR_FALLBACK] If REGEX1 matches something in /proc/cpuinfo it expands to STR1, if REGEX2 matches it expands to STR2. It stops on the first match, i.e. if REGEX1 matches, no more regexes are processed. If none regex matches it expands to STR_FALLBACK. If there is no fallback, it expands to empty string. """ def __init__(self): # unlimited number of arguments, min 2 arguments super(cpuinfo_check, self).__init__("cpuinfo_check", 0, 2) def execute(self, args): if not super(cpuinfo_check, self).execute(args): return None cpuinfo = self._cmd.read_file("/proc/cpuinfo") for i in range(0, len(args), 2): if i + 1 < len(args): if re.search(args[i], cpuinfo, re.MULTILINE): return args[i + 1] if len(args) % 2: return args[-1] else: return "" PK!G5function_cpulist2devs.pynu[import tuned.logs from . import base log = tuned.logs.get() class cpulist2devs(base.Function): """ Conversion function: converts CPU list to device strings """ def __init__(self): # arbitrary number of arguments super(cpulist2devs, self).__init__("cpulist2devs", 0) def execute(self, args): if not super(cpulist2devs, self).execute(args): return None return self._cmd.cpulist2string(self._cmd.cpulist_unpack(",".join(args)), prefix = "cpu") PK!Udfunction_cpulist2hex.pynu[import os import tuned.logs from . import base from tuned.utils.commands import commands log = tuned.logs.get() class cpulist2hex(base.Function): """ Conversion function: converts CPU list to hexadecimal CPU mask """ def __init__(self): # arbitrary number of arguments super(cpulist2hex, self).__init__("cpulist2hex", 0) def execute(self, args): if not super(cpulist2hex, self).execute(args): return None return self._cmd.cpulist2hex(",,".join(args)) PK! 0: return args[0] return args[1] PK!w+bb functions.pynu[import os import re import glob from . import repository import tuned.logs import tuned.consts as consts from tuned.utils.commands import commands log = tuned.logs.get() cmd = commands() class Functions(): """ Built-in functions """ def __init__(self): self._repository = repository.Repository() self._parse_init() def _parse_init(self, s = ""): self._cnt = 0 self._str = s self._len = len(s) self._stack = [] self._esc = False def _curr_char(self): return self._str[self._cnt] if self._cnt < self._len else "" def _curr_substr(self, _len): return self._str[self._cnt:self._cnt + _len] def _push_pos(self, esc): self._stack.append((esc, self._cnt)) def _sub(self, a, b, s): self._str = self._str[:a] + s + self._str[b + 1:] self._len = len(self._str) self._cnt += len(s) - (b - a + 1) if self._cnt < 0: self._cnt = 0 def _process_func(self, _from): sl = re.split(r'(?__pycache__/function_cpulist2hex_invert.cpython-36.pycnu[PK!1?8C__pycache__/function_cpulist_invert.cpython-36.opt-1.pycnu[PK!1?2 I__pycache__/function_cpulist_invert.cpython-36.pycnu[PK!8JN__pycache__/function_cpulist_online.cpython-36.opt-1.pycnu[PK!2|S__pycache__/function_cpulist_online.cpython-36.pycnu[PK!k16X__pycache__/function_cpulist_pack.cpython-36.opt-1.pycnu[PK!k10]__pycache__/function_cpulist_pack.cpython-36.pycnu[PK!E.9b__pycache__/function_cpulist_present.cpython-36.opt-1.pycnu[PK!E.3hh__pycache__/function_cpulist_present.cpython-36.pycnu[PK!nII8m__pycache__/function_cpulist_unpack.cpython-36.opt-1.pycnu[PK!nII2r__pycache__/function_cpulist_unpack.cpython-36.pycnu[PK!q{nn.*w__pycache__/function_exec.cpython-36.opt-1.pycnu[PK!q{nn(z__pycache__/function_exec.cpython-36.pycnu[PK!Af;;5~__pycache__/function_hex2cpulist.cpython-36.opt-1.pycnu[PK!Af;;/\__pycache__/function_hex2cpulist.cpython-36.pycnu[PK! {{.__pycache__/function_kb2s.cpython-36.opt-1.pycnu[PK! {{(ϋ__pycache__/function_kb2s.cpython-36.pycnu[PK!AL>__pycache__/function_regex_search_ternary.cpython-36.opt-1.pycnu[PK!AL8__pycache__/function_regex_search_ternary.cpython-36.pycnu[PK!!B.V__pycache__/function_s2kb.cpython-36.opt-1.pycnu[PK!!B(>__pycache__/function_s2kb.cpython-36.pycnu[PK!z0OO/ __pycache__/function_strip.cpython-36.opt-1.pycnu[PK!z0OO)Σ__pycache__/function_strip.cpython-36.pycnu[PK!Jbo""4v__pycache__/function_virt_check.cpython-36.opt-1.pycnu[PK!Jbo"".__pycache__/function_virt_check.cpython-36.pycnu[PK!3wB B *|__pycache__/functions.cpython-36.opt-1.pycnu[PK!3wB B $__pycache__/functions.cpython-36.pycnu[PK!_+__pycache__/repository.cpython-36.opt-1.pycnu[PK!33% __pycache__/repository.cpython-36.pycnu[PK!m)__pycache__/__init__.cpython-36.opt-1.pycnu[PK!m#__pycache__/__init__.cpython-36.pycnu[PK!c.mm%y__pycache__/base.cpython-36.opt-1.pycnu[PK!c.mm;__pycache__/base.cpython-36.pycnu[PK!D3__pycache__/function_assertion.cpython-36.opt-1.pycnu[PK!D--__pycache__/function_assertion.cpython-36.pycnu[PK!{I=]__pycache__/function_assertion_non_equal.cpython-36.opt-1.pycnu[PK!QW## __init__.pynu[PK!'base.pynu[PK!Fnfunction_assertion.pynu[PK!++function_assertion_non_equal.pynu[PK!0Nkk,function_calc_isolated_cores.pynu[PK!Q!function_check_net_queue_count.pynu[PK!nfunction_cpuinfo_check.pynu[PK!G5 function_cpulist2devs.pynu[PK!Udfunction_cpulist2hex.pynu[PK!