mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 14:41:27 +00:00
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 <tonyj@suse.de> Link: http://lkml.kernel.org/r/20190222230619.17887-8-tonyj@suse.de Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
9b2700efc5
commit
e4d053ddb4
1 changed files with 14 additions and 10 deletions
|
@ -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"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue