summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanosch Frank2016-01-11 16:17:46 +0100
committerPaolo Bonzini2016-01-26 15:58:12 +0100
commit3e46a5c272c71930d3da7353cdc1f912528f1da8 (patch)
treea4a8e235489955a8ce4b4bf4293135e20d4720f8
parentscripts/kvm/kvm_stat: Cleanup of platform detection (diff)
downloadqemu-3e46a5c272c71930d3da7353cdc1f912528f1da8.tar.gz
qemu-3e46a5c272c71930d3da7353cdc1f912528f1da8.tar.xz
qemu-3e46a5c272c71930d3da7353cdc1f912528f1da8.zip
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>
-rwxr-xr-xscripts/kvm/kvm_stat30
1 files changed, 15 insertions, 15 deletions
diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
index 5b6742a6b7..af24f2d6c7 100755
--- a/scripts/kvm/kvm_stat
+++ b/scripts/kvm/kvm_stat
@@ -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.