�
f � �� � d dl Zd dlZd dlZd dlZd dlZddlmZ d� Zd� Z d� Z
d� Z ej � Z
ej dfd�Z G d � d
e� Zdd�ZdZd
� Z G d� de� Zy)� N� )�libc �x � g }t | d� 5 }|j � }|j d� D ]p }|j d� }|dk( r|j t |� � �4t |d | � }t ||dz d � }|j
t ||dz � � �r d d d � |S # 1 sw Y |S xY w)N�r�,�-���r )�open�read�split�find�append�int�extend�range)�path�cpus�f�cpus_range_str� cpu_range�rangeop�start�ends �+/usr/lib/python3/dist-packages/bcc/utils.py�_read_cpu_ranger s� � �
�D�
�d�C�� 1�A������'�-�-�c�2� 1�I��n�n�S�)�G��"�}����C� �N�+��I�h�w�/�0���)�G�A�I�J�/�0�����E�%��Q��/�0� 1� 1� �K� 1� �K�s �BB/�/B9c � � t d� S )Nz/sys/devices/system/cpu/online�r � � r �get_online_cpusr $ s � ��;�<�<r c � � t d� S )Nz /sys/devices/system/cpu/possibler r r r �get_possible_cpusr" |