a
]i @ s\ d dl Z d dlZddlmZ d dlmZ d dlmZ e Z e Z
dZG dd dejZ
dS ) N )base)commands)logsz/sys/devices/system/cpu/c s, e Zd ZdZ fddZ fddZ ZS )package2cpusz3
Provides cpu device list for a package (socket)
c s t t| dd d S )Nr r )superr __init__)self __class__ R/usr/lib/python3.9/site-packages/tuned/profiles/functions/function_package2cpus.pyr s zpackage2cpus.__init__c
s8 t t| |sd S t|dkr$d S ztttd}W n t yN Y d S 0 g }|D ]}t| d }tj
|st
d| qXt|}zt|}W n( ty t
d||f Y qXY n0 |D ]P}zt|} W n, ty t||r || Y q0 || kr|| qqXt|dkr4d|S d S )Nr z cpu[0-9]*z/topology/physical_package_idzFile '%s' does not existz$Invalid package id '%s' for cpu '%s',)r r executelenfnmatchfilteroslistdir SYSFS_DIROSErrorpathexistslogZwarningcmdZ read_fileint
ValueErrorappendjoin)
r argsZall_cpusZdevicesZcpufvalueZ
package_idZpackage_patternZthis_package_idr
r r
r s:
zpackage2cpus.execute)__name__
__module____qualname____doc__r r
__classcell__r r r
r
r
s r )r r r Ztuned.utils.commandsr Ztunedr getr r r ZFunctionr r r r r