
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
<ek                 @   sN   d dl Z d dlZd dlZddlmZ d dljZejj	 Z
G dd dejZdS )    N   )basec                   s,   e Zd ZdZ fddZ fddZ  ZS )calc_isolated_coresz
	Calculates and returns isolated cores. The argument specifies how many
	cores per socket reserve for housekeeping. If not specified, 1 core
	per socket is reserved for housekeeping and the rest is isolated.
	c                s   t t| jdd d S )Nr   r   )superr   __init__)self)	__class__ 2/usr/lib/python3.6/function_calc_isolated_cores.pyr      s    zcalc_isolated_cores.__init__c       
         sP  t t| j|sd S d}t|dkrj|d j  sBt|d dk r^tjd|d | jf  d S t|d }i }xt	j
tjjtjdD ]|}tjj|dd  }|j rtjj|d}tjj|stjd||f  q| jj|j }|j r|j|g |g ||< qW g }x.|j D ]"}	|	jtd ||	|d   }qW |jtd d	j|S )
Nr   r   zPinvalid argument '%s' for builtin function '%s', it must be non-negative integerzcpu*   ztopology/physical_package_idz(file '%s' does not exist, cpu%s offline?)key,)r   r   executelen	isdecimalintlogerror_nameglobZiglobospathjoinconstsZSYSFS_CPUS_PATHbasenameexistsdebugZ_cmdZ	read_filestripgetvaluessort)
r   argsZcpus_reserveZtopoZcpuZcpuidZphysical_package_idZsocketZ	isol_cpusZcpus)r   r	   r
   r      s4    zcalc_isolated_cores.execute)__name__
__module____qualname____doc__r   r   __classcell__r	   r	   )r   r
   r   	   s   r   )r   r   Z
tuned.logsZtuned r   Ztuned.constsr   Zlogsr   r   ZFunctionr   r	   r	   r	   r
   <module>   s   

