JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/tuned/units/__pycache__/manager.cpython-39.opt-1.pyc

a

���h��@s�ddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
ej��ZdgZGdd�de�ZdS)�N)�GlobalConfig)�commands�Managercs�eZdZdZd�fdd�	Zedd��Zedd��Zed	d
��Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zejfdd�Z�ZS) rz?
	Manager creates plugin instances and keeps a track of them.
	NcsJtt|���||_||_||_||_g|_g|_|p:t	�|_
t�|_dS�N)
�superr�__init__�_plugins_repository�_monitors_repository�_def_instance_priority�_hardware_inventory�
_instances�_pluginsr�_configr�_cmd)�self�plugins_repositoryZmonitors_repositoryZdef_instance_priorityZhardware_inventoryZconfig��	__class__��7/usr/lib/python3.9/site-packages/tuned/units/manager.pyrszManager.__init__cCs|jSr)r
�rrrr�plugins!szManager.pluginscCs|jSr)rrrrr�	instances%szManager.instancescCs|jSr)rrrrrr)szManager.plugins_repositorycCsF|jdurdS|j�tj�}|dur0|j�d�}t�|j|tj	�duS)NTz
/proc/cpuinfo)
Z
cpuinfo_regexr�get�constsZCFG_CPUINFO_STRINGrZ	read_file�re�search�	MULTILINE)r�unitZcpuinfo_stringrrr�_unit_matches_cpuinfo-s

��zManager._unit_matches_cpuinfocCsH|jdurdS|j�tj�}|dur2d�t���}t�	|j|tj
�duS)NT� )Zuname_regexrrrZCFG_UNAME_STRING�join�os�unamerrr)rrZuname_stringrrr�_unit_matches_uname6s

��zManager._unit_matches_unamec
Cs@g}t|���D]�\}}|js.t�d|�q|�|�sHt�d|�q|�|�sbt�d|�q|jdurzt|j	�|_nt|j�|_|�
|�q|jdd�d�t�
�}|D]}d||j<q�t|���D]�\}}z$|j�|�}|||<|j�
|�Wq�tjjj�y@}	z*t�d||	f�WYd}	~	q�WYd}	~	q�d}	~	0t�y�}	z0t�d|�t�|	�WYd}	~	q�WYd}	~	q�d}	~	00q�g}
|D]b}||j}|du�r��q�t�d	|j|jf�|�|j|j|j|j|j|j|j �}|
�
|��q�|
D](}|j!�"�|j!�#|�|j!�$|��q�|j%�&�|j'�(|
�dS)
Nzskipping disabled instance '%s'z.skipping instance '%s', cpuinfo does not matchz,skipping instance '%s', uname does not matchcSs|jSr)�priority)�xrrr�<lambda>R�z Manager.create.<locals>.<lambda>)�keyz6skipping plugin '%s', not supported on your system: %szfailed to initialize plugin %szcreating '%s' (%s)))�list�itemsZenabled�log�debugrr$r%�intr
�append�sort�collections�OrderedDict�typer�creater
�tunedr�
exceptionsZNotSupportedPluginException�info�	Exception�error�	exception�nameZcreate_instanceZdevicesZdevices_udev_regexZ
script_preZscript_post�options�pluginZinit_devicesZassign_free_devicesZinitialize_instancerZstart_processing_eventsr�extend)
rZinstances_configZinstance_info_listZ
instance_nameZ
instance_infoZplugins_by_nameZplugin_nameZnoner=�erZnew_instance�instancerrrr4?s`


 
$

�

zManager.createc
Osfz||i|��WSty`}z8t��}t�d|t|�f�t�|�|WYd}~Sd}~00dS)Nz"BUG: Unhandled exception in %s: %s)r8�	traceback�
format_excr,r9�str)rZcallerZexc_ret�f�args�kwargsr?Ztracerrr�	_try_callws
�
zManager._try_callcCs�|jD](}t�d|j�|�dd|jj|�q|jD]$}t�d|j�|�dd|j�q6|j	j
��|jdd�=|jdd�=dS)Nzdestroying instance %s�destroy_allzcleaning plugin '%s')rr,r-r;rGr=Zdestroy_instancer
Zcleanuprr�clear)rr@r=rrrrH�s
�
zManager.destroy_allcCs0|jjD]"}t�d|�|�dd|j�qdS)Nzupdating monitor %s�update_monitors)r	Zmonitorsr,r-rG�update)rZmonitorrrrrJ�szManager.update_monitorscCs |jD]}|�dd|j�qdS)N�start_tuning)rrGZapply_tuning�rr@rrrrL�s
�zManager.start_tuningcCs2d}|jD]"}|�dd|j|�}|dkr
d}q
|S)NT�
verify_tuningF)rrGrN)rZignore_missing�retr@�resrrrrN�s
�zManager.verify_tuningcCs |jD]}|�dd|j�qdS)N�
update_tuning)rrGrQrMrrrrQ�s
�zManager.update_tuningcCs0|j��t|j�D]}|�dd|j|�qdS)N�stop_tuning)rZstop_processing_events�reversedrrGZunapply_tuning)rZrollbackr@rrrrR�s

�zManager.stop_tuning)N)�__name__�
__module__�__qualname__�__doc__r�propertyrrrrr$r4rGrHrJrLrNrQrZ
ROLLBACK_SOFTrR�
__classcell__rrrrrs&�


		8

	
)r1r"rrAZtuned.exceptionsr5Z
tuned.logsZtuned.plugins.exceptionsZtuned.constsrZtuned.utils.global_configrZtuned.utils.commandsrZlogsrr,�__all__�objectrrrrr�<module>s

Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg