Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4d053dd authored by Tony Jones's avatar Tony Jones Committed by Arnaldo Carvalho de Melo
Browse files

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: default avatarTony Jones <tonyj@suse.de>
Link: http://lkml.kernel.org/r/20190222230619.17887-8-tonyj@suse.de


Signed-off-by: default avatarSeeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 9b2700ef
Loading
Loading
Loading
Loading
+14 −10
Original line number Original line Diff line number Diff line
@@ -4,6 +4,8 @@
# Copyright (c) 2018, Intel Corporation.
# Copyright (c) 2018, Intel Corporation.


from __future__ import division
from __future__ import division
from __future__ import print_function

import os
import os
import sys
import sys
import struct
import struct
@@ -31,21 +33,23 @@ def parse_iomem():
	for i, j in enumerate(f):
	for i, j in enumerate(f):
		m = re.split('-|:',j,2)
		m = re.split('-|:',j,2)
		if m[2].strip() == 'System RAM':
		if m[2].strip() == 'System RAM':
			system_ram.append(long(m[0], 16))
			system_ram.append(int(m[0], 16))
			system_ram.append(long(m[1], 16))
			system_ram.append(int(m[1], 16))
		if m[2].strip() == 'Persistent Memory':
		if m[2].strip() == 'Persistent Memory':
			pmem.append(long(m[0], 16))
			pmem.append(int(m[0], 16))
			pmem.append(long(m[1], 16))
			pmem.append(int(m[1], 16))


def print_memory_type():
def print_memory_type():
	print "Event: %s" % (event_name)
	print("Event: %s" % (event_name))
	print "%-40s  %10s  %10s\n" % ("Memory type", "count", "percentage"),
	print("%-40s  %10s  %10s\n" % ("Memory type", "count", "percentage"), end='')
	print "%-40s  %10s  %10s\n" % ("----------------------------------------", \
	print("%-40s  %10s  %10s\n" % ("----------------------------------------",
					"-----------", "-----------"),
					"-----------", "-----------"),
                                        end='');
	total = sum(load_mem_type_cnt.values())
	total = sum(load_mem_type_cnt.values())
	for mem_type, count in sorted(load_mem_type_cnt.most_common(), \
	for mem_type, count in sorted(load_mem_type_cnt.most_common(), \
					key = lambda(k, v): (v, k), reverse = True):
					key = lambda kv: (kv[1], kv[0]), reverse = True):
		print "%-40s  %10d  %10.1f%%\n" % (mem_type, count, 100 * count / total),
		print("%-40s  %10d  %10.1f%%\n" % (mem_type, count, 100 * count / total),
                        end='')


def trace_begin():
def trace_begin():
	parse_iomem()
	parse_iomem()
@@ -80,7 +84,7 @@ def find_memory_type(phys_addr):
	f.seek(0, 0)
	f.seek(0, 0)
	for j in f:
	for j in f:
		m = re.split('-|:',j,2)
		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 m[2]
	return "N/A"
	return "N/A"