From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44314) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a706p-0003IN-0q for qemu-devel@nongnu.org; Thu, 10 Dec 2015 07:14:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a706i-0003nQ-9Y for qemu-devel@nongnu.org; Thu, 10 Dec 2015 07:14:06 -0500 Received: from e06smtp15.uk.ibm.com ([195.75.94.111]:58538) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a706i-0003n9-1W for qemu-devel@nongnu.org; Thu, 10 Dec 2015 07:14:00 -0500 Received: from localhost by e06smtp15.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 10 Dec 2015 12:13:59 -0000 Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 89E5F17D8056 for ; Thu, 10 Dec 2015 12:14:28 +0000 (GMT) Received: from d06av06.portsmouth.uk.ibm.com (d06av06.portsmouth.uk.ibm.com [9.149.37.217]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id tBACDu9n10617290 for ; Thu, 10 Dec 2015 12:13:56 GMT Received: from d06av06.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av06.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id tBACDtNH025237 for ; Thu, 10 Dec 2015 05:13:55 -0700 From: Janosch Frank Date: Thu, 10 Dec 2015 13:12:46 +0100 Message-Id: <1449749584-23214-17-git-send-email-frankja@linux.vnet.ibm.com> In-Reply-To: <1449749584-23214-1-git-send-email-frankja@linux.vnet.ibm.com> References: <1449749584-23214-1-git-send-email-frankja@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 16/34] scripts/kvm/kvm_stat: Make cpu detection a function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: cornelia.huck@de.ibm.com, 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. --- scripts/kvm/kvm_stat | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat index 4cb18e1..ef23474 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. -- 2.3.0