관리-도구
편집 파일: plugin_sysfs.cpython-39.opt-1.pyc
a ����,�g� ����������������������@���st���d�dl�mZ�ddlZddlZddlZd�dlT�ddlZddl m Z �ddlT�ddlm Z �ej���ZG�dd��dej�ZdS�)����)�base�����N)�*)�commandsc�����������������������sf���e�Zd�ZdZ��fdd�Zdd��Zdd��Zdd ��Zd d��Ze j fdd �Zdd��Zdd��Z dd��Z���ZS�)�SysfsPluginai�� Sets various `sysfs` settings specified by the plug-in options. The syntax is `_name_=_value_`, where `_name_` is the `sysfs` path to use and `_value_` is the value to write. The `sysfs` path supports the shell-style wildcard characters (see `man 7 glob` for additional detail). Use this plugin in case you need to change some settings that are not covered by other plug-ins. Prefer specific plug-ins if they cover the required settings. .Ignore corrected errors and associated scans that cause latency spikes ==== ---- [sysfs] /sys/devices/system/machinecheck/machinecheck*/ignore_ce=1 ---- ==== c��������������������s(���t�t|��j|i�|���d|�_t��|�_d�S�)NT)�superr����__init__Z_has_dynamic_optionsr����_cmd)�self�args�kwargs�� __class__���>/usr/lib/python3.9/site-packages/tuned/plugins/plugin_sysfs.pyr���%���s����zSysfsPlugin.__init__c�����������������C���s4���d|_�d|_tdd��t|j����D���|_i�|_d�S�)NFTc�����������������S���s$���g�|�]}t�j�|d���|d�f�qS�)r���r���)�os�path�normpath)�.0� key_valuer���r���r���� <listcomp>.��������z.SysfsPlugin._instance_init.<locals>.<listcomp>)Z_has_dynamic_tuningZ_has_static_tuning�dict�list�options�items�_sysfs�_sysfs_original�r ����instancer���r���r����_instance_init*���s����zSysfsPlugin._instance_initc�����������������C���s���d�S��Nr���r���r���r���r����_instance_cleanup1���s����zSysfsPlugin._instance_cleanupc�����������������C���sn���t�|j����D�]Z\}}|�j�|�}t�|�D�]:}|��|�rX|��|�|j |<�|�� ||��q,t�d|���q,qd�S�)Nz)rejecting write to '%s' (not inside /sys)) r���r���r���� _variables�expand�glob�iglob�_check_sysfs�_read_sysfsr����_write_sysfs�log�error)r ���r����key�value�v�fr���r���r����_instance_apply_static4���s���� z"SysfsPlugin._instance_apply_staticc����������� ������C���sh���d}t�|j����D�]P\}}|�j�|�}t�|�D�]0}|��|�r0|��|�} |�� ||| |�dkr0d}q0q|S�)NTF) r���r���r���r#���r$���r%���r&���r'���r(���Z _verify_value) r ���r���Zignore_missingZdevices�retr,���r-���r.���r/���Zcurr_valr���r���r����_instance_verify_static>���s���� z#SysfsPlugin._instance_verify_staticc�����������������C���s(���t�|j����D�]\}}|��||��qd�S�r!���)r���r���r���r)���)r ���r���Zrollbackr,���r-���r���r���r����_instance_unapply_staticI���s����z$SysfsPlugin._instance_unapply_staticc�����������������C���s���t��d|�S�)Nz^/sys/.*)�re�match)r ���� sysfs_filer���r���r���r'���M���s����zSysfsPlugin._check_sysfsc�����������������C���s2���|�j��|����}t|�dkr*|�j��|d�S�d�S�d�S�)Nr���F)r ���Z read_file�strip�lenZget_active_option)r ���r6����datar���r���r���r(���P���s����zSysfsPlugin._read_sysfsc�����������������C���s���|�j�j||dd�S�)NT)Zignore_same)r ���Z write_to_file)r ���r6���r-���r���r���r���r)���W���s����zSysfsPlugin._write_sysfs)�__name__� __module__�__qualname__�__doc__r���r ���r"���r0���r2����constsZ ROLLBACK_SOFTr3���r'���r(���r)���� __classcell__r���r���r ���r���r��� ���s��� r���)��r���r%���r4���Zos.pathr���Z decoratorsZ tuned.logsZtunedZtuned.constsr>���� subprocessZtuned.utils.commandsr���Zlogs�getr*���ZPluginr���r���r���r���r����<module>���s���