diff options
author | Janosch Frank | 2016-01-11 16:17:59 +0100 |
---|---|---|
committer | Paolo Bonzini | 2016-01-26 15:58:13 +0100 |
commit | 00842aaca5265a57b0a1f0248bde2f77f986e352 (patch) | |
tree | 3699152d52b64c7b13dd1bb63201f2868c05f617 | |
parent | scripts/kvm/kvm_stat: Fix output formatting (diff) | |
download | qemu-00842aaca5265a57b0a1f0248bde2f77f986e352.tar.gz qemu-00842aaca5265a57b0a1f0248bde2f77f986e352.tar.xz qemu-00842aaca5265a57b0a1f0248bde2f77f986e352.zip |
scripts/kvm/kvm_stat: Cleanup and pre-init perf_event_attr
All initializations of the ctypes struct that don't need additional
information were moved to its init method. The unneeded
initializations for sample_type and sample_period were removed as they
do not affect the counters that are read.
This improves readability of the setup_event_attribute by halfing its
LOC.
Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com>
Message-Id: <1452525484-32309-30-git-send-email-frankja@linux.vnet.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rwxr-xr-x | scripts/kvm/kvm_stat | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat index 8c7d097e6c..ce970465d6 100755 --- a/scripts/kvm/kvm_stat +++ b/scripts/kvm/kvm_stat @@ -331,6 +331,13 @@ class perf_event_attr(ctypes.Structure): ('bp_addr', ctypes.c_uint64), ('bp_len', ctypes.c_uint64), ] + + def __init__(self): + super(self.__class__, self).__init__() + self.type = PERF_TYPE_TRACEPOINT + self.size = ctypes.sizeof(self) + self.read_format = PERF_FORMAT_GROUP + def perf_event_open(attr, pid, cpu, group_fd, flags): return syscall(ARCH.sc_perf_evt_open, ctypes.pointer(attr), ctypes.c_int(pid), ctypes.c_int(cpu), @@ -369,11 +376,7 @@ class Event(object): trace_point, 'id') event_attr = perf_event_attr() - event_attr.type = PERF_TYPE_TRACEPOINT - event_attr.size = ctypes.sizeof(event_attr) event_attr.config = int(open(id_path).read()) - event_attr.sample_period = 1 - event_attr.read_format = PERF_FORMAT_GROUP return event_attr def setup_event(self, group, trace_cpu, trace_point, trace_filter, |