mirror of https://github.com/xemu-project/xemu.git
scripts/kvm/kvm_stat: Make cpu detection a function
The online cpus detection method is in the Stats class but does not use any class variables. Moving it out of the class to the platform detection function makes the Stats class more readable. Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com> Message-Id: <1452525484-32309-17-git-send-email-frankja@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
8d3b5ddc4e
commit
3e46a5c272
|
@ -279,6 +279,20 @@ def walkdir(path):
|
|||
"""
|
||||
return next(os.walk(path))
|
||||
|
||||
|
||||
def get_online_cpus():
|
||||
cpulist = []
|
||||
pattern = r'cpu([0-9]+)'
|
||||
basedir = '/sys/devices/system/cpu'
|
||||
for entry in os.listdir(basedir):
|
||||
match = re.match(pattern, entry)
|
||||
if not match:
|
||||
continue
|
||||
path = os.path.join(basedir, entry, 'online')
|
||||
if os.path.isfile(path) and open(path).read().strip() == '1':
|
||||
cpulist.append(int(match.group(1)))
|
||||
return cpulist
|
||||
|
||||
filters = {}
|
||||
filters['kvm_userspace_exit'] = ('reason', USERSPACE_EXIT_REASONS)
|
||||
if EXIT_REASONS:
|
||||
|
@ -375,23 +389,9 @@ class TracepointProvider(object):
|
|||
def fields(self):
|
||||
return self._fields
|
||||
|
||||
def _online_cpus(self):
|
||||
l = []
|
||||
pattern = r'cpu([0-9]+)'
|
||||
basedir = '/sys/devices/system/cpu'
|
||||
for entry in os.listdir(basedir):
|
||||
match = re.match(pattern, entry)
|
||||
if not match:
|
||||
continue
|
||||
path = os.path.join(basedir, entry, 'online')
|
||||
if os.path.exists(path) and open(path).read().strip() != '1':
|
||||
continue
|
||||
l.append(int(match.group(1)))
|
||||
return l
|
||||
|
||||
def _setup(self, _fields):
|
||||
self._fields = _fields
|
||||
cpus = self._online_cpus()
|
||||
cpus = get_online_cpus()
|
||||
|
||||
# The constant is needed as a buffer for python libs, std
|
||||
# streams and other files that the script opens.
|
||||
|
|
Loading…
Reference in New Issue