blob: d76f6fe166fa531269018dade62864fe3cb28504 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
"""Extra Ansible filters"""
def irqbalance_banned_cpu_mask(
processor_cores, processor_count, processor_threads_per_core):
"""
Return irqbalance CPU mask.
Args:
processor_cores (int): Physical processor unit.
processor_counts (int): Processors per physical unit.
processor_threads_per_core (int): Threads per physical unit.
Returns:
str: irqbalance_banned_cpus.
"""
mask = int("1" * 128, 2)
for i in range(processor_count * processor_threads_per_core):
mask &= ~(1 << i * processor_cores)
import re
return ",".join(re.findall('.{1,8}', str(hex(mask))[2:]))
class FilterModule(object):
"""Return filter plugin"""
@staticmethod
def filters():
"""Return filter"""
return {'irqbalance_banned_cpu_mask': irqbalance_banned_cpu_mask}
|