Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3.9/site-packages/tuned/profiles/functions/ |
Upload File : |
import os import fnmatch from . import base from tuned.utils.commands import commands from tuned import logs log = logs.get() cmd = commands() SYSFS_DIR = "/sys/devices/system/cpu/" class package2cpus(base.Function): """ Provides cpu device list for a package (socket) """ def __init__(self): super(package2cpus, self).__init__("package2cpus", 0) def execute(self, args): if not super(package2cpus, self).execute(args): return None if len(args) <= 0: return None try: all_cpus = fnmatch.filter(os.listdir(SYSFS_DIR), "cpu[0-9]*") except OSError: return None devices = [] for cpu in all_cpus: f = SYSFS_DIR + cpu + "/topology/physical_package_id" if not os.path.exists(f): log.warning("File '%s' does not exist" % f) continue value = cmd.read_file(f) try: package_id = int(value) except ValueError: log.warning("Invalid package id '%s' for cpu '%s'" % (value, cpu)) continue for package_pattern in args: try: this_package_id = int(package_pattern) except ValueError: if fnmatch.fnmatch(value, package_pattern): devices.append(cpu) else: if package_id == this_package_id: devices.append(cpu) return ",".join(devices) if len(devices) > 0 else None