diff mbox

[PULL,22/49] scripts/kvm/kvm_stat: Make cpu detection a function

Message ID 1453816041-36362-23-git-send-email-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paolo Bonzini Jan. 26, 2016, 1:46 p.m. UTC
From: Janosch Frank <frankja@linux.vnet.ibm.com>

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>
---
 scripts/kvm/kvm_stat | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)
diff mbox

Patch

diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
index 5b6742a..af24f2d 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.