[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 20/34] scripts/kvm/kvm_stat: Cleanup cpu list retrie
From: |
Janosch Frank |
Subject: |
[Qemu-devel] [PATCH 20/34] scripts/kvm/kvm_stat: Cleanup cpu list retrieval |
Date: |
Thu, 10 Dec 2015 13:12:50 +0100 |
Reading /sys/devices/system/cpu/online makes opening the cpu
directories unnecessary and works on more/older systems.
---
scripts/kvm/kvm_stat | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
index 7bd76b3..20fc5c9 100755
--- a/scripts/kvm/kvm_stat
+++ b/scripts/kvm/kvm_stat
@@ -282,15 +282,18 @@ def walkdir(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)))
+
+ with open('/sys/devices/system/cpu/online') as cpu_list:
+ cpu_string = cpu_list.readline()
+ cpus = cpu_string.split(',')
+
+ for cpu in cpus:
+ if '-' not in cpu:
+ cpulist.append(int(cpu))
+ else:
+ cpu_range = cpu.split('-')
+ cpulist.extend(range(int(cpu_range[0]),
+ int(cpu_range[1]) + 1))
return cpulist
filters = {}
--
2.3.0
- [Qemu-devel] [PATCH 24/34] scripts/kvm/kvm_stat: Cleanup of Event class, (continued)
- [Qemu-devel] [PATCH 24/34] scripts/kvm/kvm_stat: Cleanup of Event class, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 33/34] scripts/kvm/kvm_stat: Fixup filtering, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 11/34] scripts/kvm/kvm_stat: Rename variables that redefine globals, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 06/34] scripts/kvm/kvm_stat: Invert dictionaries, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 15/34] scripts/kvm/kvm_stat: Cleanup of platform detection, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 19/34] scripts/kvm/kvm_stat: Cleanup of TracepointProvider, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 31/34] scripts/kvm/kvm_stat: Read event values as u64, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 30/34] scripts/kvm/kvm_stat: Cleanup and pre-init perf_event_attr, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 28/34] scripts/kvm/kvm_stat: Fix output formatting, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 08/34] scripts/kvm/kvm_stat: Improve debugfs access checking, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 20/34] scripts/kvm/kvm_stat: Cleanup cpu list retrieval,
Janosch Frank <=
- [Qemu-devel] [PATCH 09/34] scripts/kvm/kvm_stat: Introduce main function, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 07/34] scripts/kvm/kvm_stat: Cleanup of path variables, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 25/34] scripts/kvm/kvm_stat: Group arch specific data, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 04/34] scripts/kvm/kvm_stat: Removed unneeded PERF constants, Janosch Frank, 2015/12/10
- Re: [Qemu-devel] [PATCH 00/34] kvm_stat: Cleanup and fixup, Cornelia Huck, 2015/12/15