a ]i@s\ddlZddlZddlmZddlmZddlmZeZ eZ dZ Gdddej Z dS) N)base)commands)logsz/sys/devices/system/cpu/cs,eZdZdZfddZfddZZS) package2cpusz3 Provides cpu device list for a package (socket) cstt|dddS)Nrr)superr__init__)self __class__R/usr/lib/python3.9/site-packages/tuned/profiles/functions/function_package2cpus.pyrszpackage2cpus.__init__c s8tt||sdSt|dkr$dSztttd}Wnt yNYdS0g}|D]}t|d}tj |st d|qXt|}z t|}Wn(tyt d||fYqXYn0|D]P}z t|} Wn,tyt||r||Yq0|| kr||qqXt|dkr4d|SdS)Nrz cpu[0-9]*z/topology/physical_package_idzFile '%s' does not existz$Invalid package id '%s' for cpu '%s',)rrexecutelenfnmatchfilteroslistdir SYSFS_DIROSErrorpathexistslogZwarningcmdZ read_fileint ValueErrorappendjoin) r argsZall_cpusZdevicesZcpufvalueZ package_idZpackage_patternZthis_package_idr r r rs:         zpackage2cpus.execute)__name__ __module__ __qualname____doc__rr __classcell__r r r r r s r)rrrZtuned.utils.commandsrZtunedrgetrrrZFunctionrr r r r s