88 lines
2.9 KiB
Diff
88 lines
2.9 KiB
Diff
|
From: Tony Jones <tonyj@suse.de>
|
||
|
Date: Fri, 22 Feb 2019 15:06:13 -0800
|
||
|
Subject: perf script python: Add Python3 support to powerpc-hcalls.py
|
||
|
Origin: https://git.kernel.org/linus/118af5bf799bd1876c3999766d1d2f845d45f019
|
||
|
Bug-Debian: https://bugs.debian.org/944641
|
||
|
|
||
|
Support both Python2 and Python3 in the powerpc-hcalls.py script
|
||
|
|
||
|
There may be differences in the ordering of output lines due to
|
||
|
differences in dictionary ordering etc. However the format within lines
|
||
|
should be unchanged.
|
||
|
|
||
|
The use of 'from __future__' implies the minimum supported Python2 version
|
||
|
is now v2.6
|
||
|
|
||
|
Signed-off-by: Tony Jones <tonyj@suse.de>
|
||
|
Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
|
||
|
Link: http://lkml.kernel.org/r/20190222230619.17887-10-tonyj@suse.de
|
||
|
Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
|
||
|
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
||
|
---
|
||
|
tools/perf/scripts/python/powerpc-hcalls.py | 18 ++++++++++--------
|
||
|
1 file changed, 10 insertions(+), 8 deletions(-)
|
||
|
|
||
|
--- a/tools/perf/scripts/python/powerpc-hcalls.py
|
||
|
+++ b/tools/perf/scripts/python/powerpc-hcalls.py
|
||
|
@@ -4,6 +4,8 @@
|
||
|
#
|
||
|
# Hypervisor call statisics
|
||
|
|
||
|
+from __future__ import print_function
|
||
|
+
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
@@ -149,7 +151,7 @@ hcall_table = {
|
||
|
}
|
||
|
|
||
|
def hcall_table_lookup(opcode):
|
||
|
- if (hcall_table.has_key(opcode)):
|
||
|
+ if (opcode in hcall_table):
|
||
|
return hcall_table[opcode]
|
||
|
else:
|
||
|
return opcode
|
||
|
@@ -157,8 +159,8 @@ def hcall_table_lookup(opcode):
|
||
|
print_ptrn = '%-28s%10s%10s%10s%10s'
|
||
|
|
||
|
def trace_end():
|
||
|
- print print_ptrn % ('hcall', 'count', 'min(ns)', 'max(ns)', 'avg(ns)')
|
||
|
- print '-' * 68
|
||
|
+ print(print_ptrn % ('hcall', 'count', 'min(ns)', 'max(ns)', 'avg(ns)'))
|
||
|
+ print('-' * 68)
|
||
|
for opcode in output:
|
||
|
h_name = hcall_table_lookup(opcode)
|
||
|
time = output[opcode]['time']
|
||
|
@@ -166,14 +168,14 @@ def trace_end():
|
||
|
min_t = output[opcode]['min']
|
||
|
max_t = output[opcode]['max']
|
||
|
|
||
|
- print print_ptrn % (h_name, cnt, min_t, max_t, time/cnt)
|
||
|
+ print(print_ptrn % (h_name, cnt, min_t, max_t, time//cnt))
|
||
|
|
||
|
def powerpc__hcall_exit(name, context, cpu, sec, nsec, pid, comm, callchain,
|
||
|
opcode, retval):
|
||
|
- if (d_enter.has_key(cpu) and d_enter[cpu].has_key(opcode)):
|
||
|
+ if (cpu in d_enter and opcode in d_enter[cpu]):
|
||
|
diff = nsecs(sec, nsec) - d_enter[cpu][opcode]
|
||
|
|
||
|
- if (output.has_key(opcode)):
|
||
|
+ if (opcode in output):
|
||
|
output[opcode]['time'] += diff
|
||
|
output[opcode]['cnt'] += 1
|
||
|
if (output[opcode]['min'] > diff):
|
||
|
@@ -190,11 +192,11 @@ def powerpc__hcall_exit(name, context, c
|
||
|
|
||
|
del d_enter[cpu][opcode]
|
||
|
# else:
|
||
|
-# print "Can't find matching hcall_enter event. Ignoring sample"
|
||
|
+# print("Can't find matching hcall_enter event. Ignoring sample")
|
||
|
|
||
|
def powerpc__hcall_entry(event_name, context, cpu, sec, nsec, pid, comm,
|
||
|
callchain, opcode):
|
||
|
- if (d_enter.has_key(cpu)):
|
||
|
+ if (cpu in d_enter):
|
||
|
d_enter[cpu][opcode] = nsecs(sec, nsec)
|
||
|
else:
|
||
|
d_enter[cpu] = {opcode: nsecs(sec, nsec)}
|