aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/futex-contention.py
diff options
context:
space:
mode:
authorTony Jones <tonyj@suse.de>2019-03-01 20:18:58 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2019-03-06 16:10:43 -0500
commitde2ec16bd438945813198d4de2339a396904c206 (patch)
treedb43b6bb43701a50298463ab1ee73d0cde1a6142 /tools/perf/scripts/python/futex-contention.py
parentb504d7f6876515b74c8e27a44ccdb22372616d97 (diff)
perf script python: Add Python3 support to futex-contention.py
Support both Python2 and Python3 in the futex-contention.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> Link: http://lkml.kernel.org/r/20190302011903.2416-3-tonyj@suse.de Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/futex-contention.py')
-rw-r--r--tools/perf/scripts/python/futex-contention.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/perf/scripts/python/futex-contention.py b/tools/perf/scripts/python/futex-contention.py
index f221c62e0a10..0c4841acf75d 100644
--- a/tools/perf/scripts/python/futex-contention.py
+++ b/tools/perf/scripts/python/futex-contention.py
@@ -10,6 +10,8 @@
10# 10#
11# Measures futex contention 11# Measures futex contention
12 12
13from __future__ import print_function
14
13import os, sys 15import os, sys
14sys.path.append(os.environ['PERF_EXEC_PATH'] + '/scripts/python/Perf-Trace-Util/lib/Perf/Trace') 16sys.path.append(os.environ['PERF_EXEC_PATH'] + '/scripts/python/Perf-Trace-Util/lib/Perf/Trace')
15from Util import * 17from Util import *
@@ -33,18 +35,18 @@ def syscalls__sys_enter_futex(event, ctxt, cpu, s, ns, tid, comm, callchain,
33 35
34def syscalls__sys_exit_futex(event, ctxt, cpu, s, ns, tid, comm, callchain, 36def syscalls__sys_exit_futex(event, ctxt, cpu, s, ns, tid, comm, callchain,
35 nr, ret): 37 nr, ret):
36 if thread_blocktime.has_key(tid): 38 if tid in thread_blocktime:
37 elapsed = nsecs(s, ns) - thread_blocktime[tid] 39 elapsed = nsecs(s, ns) - thread_blocktime[tid]
38 add_stats(lock_waits, (tid, thread_thislock[tid]), elapsed) 40 add_stats(lock_waits, (tid, thread_thislock[tid]), elapsed)
39 del thread_blocktime[tid] 41 del thread_blocktime[tid]
40 del thread_thislock[tid] 42 del thread_thislock[tid]
41 43
42def trace_begin(): 44def trace_begin():
43 print "Press control+C to stop and show the summary" 45 print("Press control+C to stop and show the summary")
44 46
45def trace_end(): 47def trace_end():
46 for (tid, lock) in lock_waits: 48 for (tid, lock) in lock_waits:
47 min, max, avg, count = lock_waits[tid, lock] 49 min, max, avg, count = lock_waits[tid, lock]
48 print "%s[%d] lock %x contended %d times, %d avg ns" % \ 50 print("%s[%d] lock %x contended %d times, %d avg ns" %
49 (process_names[tid], tid, lock, count, avg) 51 (process_names[tid], tid, lock, count, avg))
50 52