ó æ ”\c@s¥ddlZddlZdZd„Zd„Zd„Zd„ZeedƒZdZxeD]Z ed e >BZq_We ej ƒd ks«e e ej d ƒƒdkrâej jd ejjej dƒƒejd ƒnej d Zejƒjd ƒZxveD]nZ ej d dkr;ed ee ƒ>BZq ej d dksaej d dkr ed ee ƒ>@Zq q Wej d dkreeƒneeƒZeeddƒZejeƒejƒgejeƒD]-Zejjejjeeƒƒrãe^qãZyej dƒWne!k r:nXyej dƒWne!k r_nXdZ"x+eD]#Z ee dZ#ee#ƒZdZxeD]Z$ed e$>BZqšWxceD][Z$ej d dkréed ee$ƒ>BZq¹ej d dkr¹ed ee$ƒ>@Zq¹q¹WeeƒZy*ee#dƒZejeƒejƒWqme%k rZ&ej jde e ƒe e&ƒfƒd Z"qmXqmWeje"ƒdS(iÿÿÿÿNs /proc/irq/cCs |jƒjdƒ}g}d}xxtt|ƒdddƒD]Z}t||dƒ}x>|dkr—|d@r€|j|ƒn|dL}|d7}qZWq>W|S(Nt,iiiÿÿÿÿi(tstriptsplittrangetlentinttappend(tlinetfieldst bitmasklisttentrytitmask((s$/usr/libexec/tuned/defirqaffinity.pyR s#  cCs’g}d}xX|rfd}|d@}|d|7}|rF|d7}nd}|dL}|j|ƒqWd}xt|ƒD]}||7}qzW|S(NitIÿÿÿÿs%xRii (Rtreversed(R tgroupstcommat cpumaskstrtmtstringR ((s$/usr/libexec/tuned/defirqaffinity.pyt get_cpumasks    cCsdtjƒdkrdSy2t|dƒ}|jƒ}WdQXt|ƒSWntk r_dgSXdS(Nitr(tostgetuidtopentreadlineR tIOError(tfnametfR((s$/usr/libexec/tuned/defirqaffinity.pytparse_def_affinity(s cCs™d}td}t|ƒ}x|D]}|d|>B}q#W||@rstjjd|||fƒtjdƒngtjtƒD]-}tjj tjj t|ƒƒrƒ|^qƒ}y|j dƒWnt k rÚnXy|j dƒWnt k rÿnXx…|D]}}d}t|d}t|ƒ}x|D]}|d|>B}q4W||@rtjjd|||fƒtjdƒqqWtjdƒdS(Nitdefault_smp_affinityis@verify: failed: irqaffinity (%s) inplacemask=%x shouldbemask=%x t2t0s /smp_affinity( tirqpathRtsyststderrtwritetexitRtlistdirtpathtisdirtjointremovet ValueError(t shouldbemaskt inplacemaskRtcpulistR Rt interruptdirs((s$/usr/libexec/tuned/defirqaffinity.pytverify2s6    C      Riiiis%s: invalid arguments RtaddR*R0twbRR s /smp_affinitys*Failed to set smp_affinity for IRQ %s: %s ('RR"R!R RRR0R.R R RtargvtstrR#R$R'tbasenameR%RRRRRRRtfotcloseR&RR(R)R/R*R+tretRtjRte(((s$/usr/libexec/tuned/defirqaffinity.pytsp    % 4'  &    C        &