1 """Extra Ansible filters"""
3 def irqbalance_banned_cpu_mask(
4 processor_cores, processor_count, processor_threads_per_core):
6 Return irqbalance CPU mask.
8 processor_cores (int): Physical processor unit.
9 processor_counts (int): Processors per physical unit.
10 processor_threads_per_core (int): Threads per physical unit.
12 str: irqbalance_banned_cpus.
14 mask = int("1" * 128, 2)
16 for i in range(processor_count * processor_threads_per_core):
17 mask &= ~(1 << i * processor_cores)
20 return ",".join(re.findall('.{1,8}', str(hex(mask))[2:]))
23 class FilterModule(object):
24 """Return filter plugin"""
29 return {'irqbalance_banned_cpu_mask': irqbalance_banned_cpu_mask}