[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 15/34] scripts/kvm/kvm_stat: Cleanup of platform det
From: |
Janosch Frank |
Subject: |
[Qemu-devel] [PATCH 15/34] scripts/kvm/kvm_stat: Cleanup of platform detection |
Date: |
Thu, 10 Dec 2015 13:12:45 +0100 |
s390 machines can also be detected via uname -m, i.e. python's
os.uname, no need for more complicated checks.
Calling uname once and saving its value for multiple checks is
perfectly sufficient. We don't expect the machine's architecture to
change when the script is running anyway.
On multi-cpu systems x86_init currently will get called multiple
times, returning makes sure we don't waste cicles on that.
---
scripts/kvm/kvm_stat | 31 ++++++++++++++-----------------
1 file changed, 14 insertions(+), 17 deletions(-)
diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
index b8c2a8f..4cb18e1 100755
--- a/scripts/kvm/kvm_stat
+++ b/scripts/kvm/kvm_stat
@@ -254,24 +254,21 @@ def aarch64_init():
EXIT_REASONS = AARCH64_EXIT_REASONS
def detect_platform():
- if os.uname()[4].startswith('ppc'):
- ppc_init()
- return
- elif os.uname()[4].startswith('aarch64'):
- aarch64_init()
- return
+ machine = os.uname()[4]
- for line in file('/proc/cpuinfo').readlines():
- if line.startswith('flags'):
- for flag in line.split():
- if flag in X86_EXIT_REASONS:
- x86_init(flag)
- return
- elif line.startswith('vendor_id'):
- for flag in line.split():
- if flag == 'IBM/S390':
- s390_init()
- return
+ if machine.startswith('ppc'):
+ ppc_init()
+ elif machine.startswith('aarch64'):
+ aarch64_init()
+ elif machine.startswith('s390'):
+ s390_init()
+ else:
+ for line in file('/proc/cpuinfo').readlines():
+ if line.startswith('flags'):
+ for flag in line.split():
+ if flag in X86_EXIT_REASONS:
+ x86_init(flag)
+ return
def walkdir(path):
--
2.3.0
- [Qemu-devel] [PATCH 16/34] scripts/kvm/kvm_stat: Make cpu detection a function, (continued)
- [Qemu-devel] [PATCH 16/34] scripts/kvm/kvm_stat: Make cpu detection a function, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 22/34] scripts/kvm/kvm_stat: Cleanup of Stats class, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 26/34] scripts/kvm/kvm_stat: Remove unneeded X86_EXIT_REASONS, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 10/34] scripts/kvm/kvm_stat: Fix spaces around keyword assignments, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 29/34] scripts/kvm/kvm_stat: Move to argparse and add description, Janosch Frank, 2015/12/10
- [Qemu-devel] [PATCH 27/34] scripts/kvm/kvm_stat: Make tui function a class, Janosch Frank, 2015/12/10
- [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 <=
- [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, 2015/12/10
- [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