Commit-ID:  e4d053ddb4c48cbde27b4c5edd3cc8f957684e4f
Gitweb:     https://git.kernel.org/tip/e4d053ddb4c48cbde27b4c5edd3cc8f957684e4f
Author:     Tony Jones <to...@suse.de>
AuthorDate: Fri, 22 Feb 2019 15:06:11 -0800
Committer:  Arnaldo Carvalho de Melo <a...@redhat.com>
CommitDate: Mon, 25 Feb 2019 17:16:51 -0300

perf script python: Add Python3 support to mem-phys-addr.py

Support both Python2 and Python3 in the mem-phys-addr.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 <to...@suse.de>
Link: http://lkml.kernel.org/r/20190222230619.17887-8-to...@suse.de
Signed-off-by: Seeteena Thoufeek <s1see...@linux.vnet.ibm.com>
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 tools/perf/scripts/python/mem-phys-addr.py | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/tools/perf/scripts/python/mem-phys-addr.py 
b/tools/perf/scripts/python/mem-phys-addr.py
index ebee2c5ae496..fb0bbcbfa0f0 100644
--- a/tools/perf/scripts/python/mem-phys-addr.py
+++ b/tools/perf/scripts/python/mem-phys-addr.py
@@ -4,6 +4,8 @@
 # Copyright (c) 2018, Intel Corporation.
 
 from __future__ import division
+from __future__ import print_function
+
 import os
 import sys
 import struct
@@ -31,21 +33,23 @@ def parse_iomem():
        for i, j in enumerate(f):
                m = re.split('-|:',j,2)
                if m[2].strip() == 'System RAM':
-                       system_ram.append(long(m[0], 16))
-                       system_ram.append(long(m[1], 16))
+                       system_ram.append(int(m[0], 16))
+                       system_ram.append(int(m[1], 16))
                if m[2].strip() == 'Persistent Memory':
-                       pmem.append(long(m[0], 16))
-                       pmem.append(long(m[1], 16))
+                       pmem.append(int(m[0], 16))
+                       pmem.append(int(m[1], 16))
 
 def print_memory_type():
-       print "Event: %s" % (event_name)
-       print "%-40s  %10s  %10s\n" % ("Memory type", "count", "percentage"),
-       print "%-40s  %10s  %10s\n" % 
("----------------------------------------", \
+       print("Event: %s" % (event_name))
+       print("%-40s  %10s  %10s\n" % ("Memory type", "count", "percentage"), 
end='')
+       print("%-40s  %10s  %10s\n" % 
("----------------------------------------",
                                        "-----------", "-----------"),
+                                        end='');
        total = sum(load_mem_type_cnt.values())
        for mem_type, count in sorted(load_mem_type_cnt.most_common(), \
-                                       key = lambda(k, v): (v, k), reverse = 
True):
-               print "%-40s  %10d  %10.1f%%\n" % (mem_type, count, 100 * count 
/ total),
+                                       key = lambda kv: (kv[1], kv[0]), 
reverse = True):
+               print("%-40s  %10d  %10.1f%%\n" % (mem_type, count, 100 * count 
/ total),
+                        end='')
 
 def trace_begin():
        parse_iomem()
@@ -80,7 +84,7 @@ def find_memory_type(phys_addr):
        f.seek(0, 0)
        for j in f:
                m = re.split('-|:',j,2)
-               if long(m[0], 16) <= phys_addr <= long(m[1], 16):
+               if int(m[0], 16) <= phys_addr <= int(m[1], 16):
                        return m[2]
        return "N/A"
 

Reply via email to