libhugetlbfs/0001-change-script-from-py2-to-py3.patch
lihongjiang 67bba4cec8 test
2020-02-26 11:08:35 +08:00

1898 lines
65 KiB
Diff

Subject: [PATCH] [PATCH openEuler-1.0] : arm64/scripts: covert scripts from py2 to py3
euler inclusion
category:scripts
bugzilla:NA
CVE:NA
---
Modify whole python2 scripts to python3, to remove the python2 dependencies.
Signed-off-by:lihongjiang<lihongjiang6@huawei.com>
---
Documentation/networking/cxacru-cf.py | 2 +-
Documentation/target/tcm_mod_builder.py | 44 ++--
Documentation/trace/postprocess/decode_msr.py | 4 +-
arch/ia64/scripts/unwcheck.py | 10 +-
drivers/staging/greybus/tools/lbtest | 6 +-
scripts/bloat-o-meter | 12 +-
scripts/check-kabi | 34 +--
scripts/diffconfig | 14 +-
scripts/show_delta | 10 +-
scripts/spdxcheck.py | 2 +-
scripts/tracing/draw_functrace.py | 4 +-
tools/hv/lsvmbus | 14 +-
tools/kvm/kvm_stat/kvm_stat | 24 +-
tools/perf/python/tracepoint.py | 6 +-
tools/perf/python/twatch.py | 6 +-
tools/perf/scripts/python/call-graph-from-sql.py | 10 +-
tools/perf/scripts/python/sched-migration.py | 6 +-
tools/perf/scripts/python/stat-cpi.py | 4 +-
tools/perf/tests/attr.py | 36 +--
tools/perf/util/setup.py | 4 +-
tools/power/pm-graph/bootgraph.py | 62 +++---
tools/power/pm-graph/sleepgraph.py | 244 ++++++++++-----------
.../x86/intel_pstate_tracer/intel_pstate_tracer.py | 4 +-
23 files changed, 281 insertions(+), 281 deletions(-)
diff --git a/Documentation/networking/cxacru-cf.py b/Documentation/networking/cxacru-cf.py
index b41d298..1b960fb 100644
--- a/Documentation/networking/cxacru-cf.py
+++ b/Documentation/networking/cxacru-cf.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Copyright 2009 Simon Arlott
#
# This program is free software; you can redistribute it and/or modify it
diff --git a/Documentation/target/tcm_mod_builder.py b/Documentation/target/tcm_mod_builder.py
index 94bf694..3180283 100755
--- a/Documentation/target/tcm_mod_builder.py
+++ b/Documentation/target/tcm_mod_builder.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# The TCM v4 multi-protocol fabric module generation script for drivers/target/$NEW_MOD
#
# Copyright (c) 2010 Rising Tide Systems
@@ -20,7 +20,7 @@ fabric_mod_port = ""
fabric_mod_init_port = ""
def tcm_mod_err(msg):
- print msg
+ print(msg)
sys.exit(1)
def tcm_mod_create_module_subdir(fabric_mod_dir_var):
@@ -28,7 +28,7 @@ def tcm_mod_create_module_subdir(fabric_mod_dir_var):
if os.path.isdir(fabric_mod_dir_var) == True:
return 1
- print "Creating fabric_mod_dir: " + fabric_mod_dir_var
+ print("Creating fabric_mod_dir: " + fabric_mod_dir_var)
ret = os.mkdir(fabric_mod_dir_var)
if ret:
tcm_mod_err("Unable to mkdir " + fabric_mod_dir_var)
@@ -41,7 +41,7 @@ def tcm_mod_build_FC_include(fabric_mod_dir_var, fabric_mod_name):
buf = ""
f = fabric_mod_dir_var + "/" + fabric_mod_name + "_base.h"
- print "Writing file: " + f
+ print("Writing file: " + f)
p = open(f, 'w');
if not p:
@@ -85,7 +85,7 @@ def tcm_mod_build_SAS_include(fabric_mod_dir_var, fabric_mod_name):
buf = ""
f = fabric_mod_dir_var + "/" + fabric_mod_name + "_base.h"
- print "Writing file: " + f
+ print("Writing file: " + f)
p = open(f, 'w');
if not p:
@@ -128,7 +128,7 @@ def tcm_mod_build_iSCSI_include(fabric_mod_dir_var, fabric_mod_name):
buf = ""
f = fabric_mod_dir_var + "/" + fabric_mod_name + "_base.h"
- print "Writing file: " + f
+ print("Writing file: " + f)
p = open(f, 'w');
if not p:
@@ -172,7 +172,7 @@ def tcm_mod_build_base_includes(proto_ident, fabric_mod_dir_val, fabric_mod_name
elif proto_ident == "iSCSI":
tcm_mod_build_iSCSI_include(fabric_mod_dir_val, fabric_mod_name)
else:
- print "Unsupported proto_ident: " + proto_ident
+ print("Unsupported proto_ident: " + proto_ident)
sys.exit(1)
return
@@ -181,7 +181,7 @@ def tcm_mod_build_configfs(proto_ident, fabric_mod_dir_var, fabric_mod_name):
buf = ""
f = fabric_mod_dir_var + "/" + fabric_mod_name + "_configfs.c"
- print "Writing file: " + f
+ print("Writing file: " + f)
p = open(f, 'w');
if not p:
@@ -340,7 +340,7 @@ def tcm_mod_scan_fabric_ops(tcm_dir):
fabric_ops_api = tcm_dir + "include/target/target_core_fabric.h"
- print "Using tcm_mod_scan_fabric_ops: " + fabric_ops_api
+ print("Using tcm_mod_scan_fabric_ops: " + fabric_ops_api)
process_fo = 0;
p = open(fabric_ops_api, 'r')
@@ -376,14 +376,14 @@ def tcm_mod_dump_fabric_ops(proto_ident, fabric_mod_dir_var, fabric_mod_name):
bufi = ""
f = fabric_mod_dir_var + "/" + fabric_mod_name + "_fabric.c"
- print "Writing file: " + f
+ print("Writing file: " + f)
p = open(f, 'w')
if not p:
tcm_mod_err("Unable to open file: " + f)
fi = fabric_mod_dir_var + "/" + fabric_mod_name + "_fabric.h"
- print "Writing file: " + fi
+ print("Writing file: " + fi)
pi = open(fi, 'w')
if not pi:
@@ -545,7 +545,7 @@ def tcm_mod_build_kbuild(fabric_mod_dir_var, fabric_mod_name):
buf = ""
f = fabric_mod_dir_var + "/Makefile"
- print "Writing file: " + f
+ print("Writing file: " + f)
p = open(f, 'w')
if not p:
@@ -566,7 +566,7 @@ def tcm_mod_build_kconfig(fabric_mod_dir_var, fabric_mod_name):
buf = ""
f = fabric_mod_dir_var + "/Kconfig"
- print "Writing file: " + f
+ print("Writing file: " + f)
p = open(f, 'w')
if not p:
@@ -611,20 +611,20 @@ def main(modname, proto_ident):
tcm_dir = os.getcwd();
tcm_dir += "/../../"
- print "tcm_dir: " + tcm_dir
+ print("tcm_dir: " + tcm_dir)
fabric_mod_name = modname
fabric_mod_dir = tcm_dir + "drivers/target/" + fabric_mod_name
- print "Set fabric_mod_name: " + fabric_mod_name
- print "Set fabric_mod_dir: " + fabric_mod_dir
- print "Using proto_ident: " + proto_ident
+ print("Set fabric_mod_name: " + fabric_mod_name)
+ print("Set fabric_mod_dir: " + fabric_mod_dir)
+ print("Using proto_ident: " + proto_ident)
if proto_ident != "FC" and proto_ident != "SAS" and proto_ident != "iSCSI":
- print "Unsupported proto_ident: " + proto_ident
+ print("Unsupported proto_ident: " + proto_ident)
sys.exit(1)
ret = tcm_mod_create_module_subdir(fabric_mod_dir)
if ret:
- print "tcm_mod_create_module_subdir() failed because module already exists!"
+ print("tcm_mod_create_module_subdir() failed because module already exists!")
sys.exit(1)
tcm_mod_build_base_includes(proto_ident, fabric_mod_dir, fabric_mod_name)
@@ -634,11 +634,11 @@ def main(modname, proto_ident):
tcm_mod_build_kbuild(fabric_mod_dir, fabric_mod_name)
tcm_mod_build_kconfig(fabric_mod_dir, fabric_mod_name)
- input = raw_input("Would you like to add " + fabric_mod_name + " to drivers/target/Makefile..? [yes,no]: ")
+ input = input("Would you like to add " + fabric_mod_name + " to drivers/target/Makefile..? [yes,no]: ")
if input == "yes" or input == "y":
tcm_mod_add_kbuild(tcm_dir, fabric_mod_name)
- input = raw_input("Would you like to add " + fabric_mod_name + " to drivers/target/Kconfig..? [yes,no]: ")
+ input = input("Would you like to add " + fabric_mod_name + " to drivers/target/Kconfig..? [yes,no]: ")
if input == "yes" or input == "y":
tcm_mod_add_kconfig(tcm_dir, fabric_mod_name)
@@ -655,7 +655,7 @@ parser.add_option('-p', '--protoident', help='Protocol Ident', dest='protoident'
mandatories = ['modname', 'protoident']
for m in mandatories:
if not opts.__dict__[m]:
- print "mandatory option is missing\n"
+ print("mandatory option is missing\n")
parser.print_help()
exit(-1)
diff --git a/Documentation/trace/postprocess/decode_msr.py b/Documentation/trace/postprocess/decode_msr.py
index 0ab40e0..dc58c58 100644
--- a/Documentation/trace/postprocess/decode_msr.py
+++ b/Documentation/trace/postprocess/decode_msr.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# add symbolic names to read_msr / write_msr in trace
# decode_msr msr-index.h < trace
import sys
@@ -32,6 +32,6 @@ for j in sys.stdin:
break
if r:
j = j.replace(" " + m.group(2), " " + r + "(" + m.group(2) + ")")
- print j,
+ print(j, end=' ')
diff --git a/arch/ia64/scripts/unwcheck.py b/arch/ia64/scripts/unwcheck.py
index c55276e..b7ecaf7 100644
--- a/arch/ia64/scripts/unwcheck.py
+++ b/arch/ia64/scripts/unwcheck.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# SPDX-License-Identifier: GPL-2.0
#
# Usage: unwcheck.py FILE
@@ -16,7 +16,7 @@ import re
import sys
if len(sys.argv) != 2:
- print("Usage: %s FILE" % sys.argv[0])
+ print(("Usage: %s FILE" % sys.argv[0]))
sys.exit(2)
readelf = os.getenv("READELF", "readelf")
@@ -29,7 +29,7 @@ def check_func (func, slots, rlen_sum):
global num_errors
num_errors += 1
if not func: func = "[%#x-%#x]" % (start, end)
- print("ERROR: %s: %lu slots, total region length = %lu" % (func, slots, rlen_sum))
+ print(("ERROR: %s: %lu slots, total region length = %lu" % (func, slots, rlen_sum)))
return
num_funcs = 0
@@ -55,11 +55,11 @@ for line in os.popen("%s -u %s" % (readelf, sys.argv[1])):
check_func(func, slots, rlen_sum)
if num_errors == 0:
- print("No errors detected in %u functions." % num_funcs)
+ print(("No errors detected in %u functions." % num_funcs))
else:
if num_errors > 1:
err="errors"
else:
err="error"
- print("%u %s detected in %u functions." % (num_errors, err, num_funcs))
+ print(("%u %s detected in %u functions." % (num_errors, err, num_funcs)))
sys.exit(1)
diff --git a/drivers/staging/greybus/tools/lbtest b/drivers/staging/greybus/tools/lbtest
index 47c4812..ed71c6e 100755
--- a/drivers/staging/greybus/tools/lbtest
+++ b/drivers/staging/greybus/tools/lbtest
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2015 Google, Inc.
@@ -28,7 +28,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-from __future__ import print_function
+
import csv
import datetime
import sys
@@ -161,7 +161,7 @@ def main():
if len(sys.argv) < 5:
usage()
- if sys.argv[1] in dict.keys():
+ if sys.argv[1] in list(dict.keys()):
loopback_run(sys.argv[1], sys.argv[2], int(sys.argv[3]), sys.argv[4])
else:
usage()
diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter
index a923f05..cbd267d 100755
--- a/scripts/bloat-o-meter
+++ b/scripts/bloat-o-meter
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
#
# Copyright 2004 Matt Mackall <mpm@selenic.com>
#
@@ -77,17 +77,17 @@ def print_result(symboltype, symbolformat, argc):
grow, shrink, add, remove, up, down, delta, old, new, otot, ntot = \
calc(sys.argv[argc - 1], sys.argv[argc], symbolformat)
- print("add/remove: %s/%s grow/shrink: %s/%s up/down: %s/%s (%s)" % \
- (add, remove, grow, shrink, up, -down, up-down))
- print("%-40s %7s %7s %+7s" % (symboltype, "old", "new", "delta"))
+ print(("add/remove: %s/%s grow/shrink: %s/%s up/down: %s/%s (%s)" % \
+ (add, remove, grow, shrink, up, -down, up-down)))
+ print(("%-40s %7s %7s %+7s" % (symboltype, "old", "new", "delta")))
for d, n in delta:
- if d: print("%-40s %7s %7s %+7d" % (n, old.get(n,"-"), new.get(n,"-"), d))
+ if d: print(("%-40s %7s %7s %+7d" % (n, old.get(n,"-"), new.get(n,"-"), d)))
if otot:
percent = (ntot - otot) * 100.0 / otot
else:
percent = 0
- print("Total: Before=%d, After=%d, chg %+.2f%%" % (otot, ntot, percent))
+ print(("Total: Before=%d, After=%d, chg %+.2f%%" % (otot, ntot, percent)))
if sys.argv[1] == "-c":
print_result("Function", "tT", 3)
diff --git a/scripts/check-kabi b/scripts/check-kabi
index e3ec97c..b173422 100755
--- a/scripts/check-kabi
+++ b/scripts/check-kabi
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# SPDX-License-Identifier: GPL-2.0
#
# check-kabi - Red Hat kABI reference checking tool
@@ -71,7 +71,7 @@ def check_kabi(symvers,kabi):
for symbol in kabi:
abi_hash,abi_sym,abi_dir,abi_type = string.split(kabi[symbol])
- if symvers.has_key(symbol):
+ if symbol in symvers:
sym_hash,sym_sym,sym_dir,sym_type = string.split(symvers[symbol])
if abi_hash != sym_hash:
fail=1
@@ -85,23 +85,23 @@ def check_kabi(symvers,kabi):
changed_symbols.append(symbol)
if fail:
- print "*** ERROR - ABI BREAKAGE WAS DETECTED ***"
- print ""
- print "The following symbols have been changed (this will cause an ABI breakage):"
- print ""
+ print("*** ERROR - ABI BREAKAGE WAS DETECTED ***")
+ print("")
+ print("The following symbols have been changed (this will cause an ABI breakage):")
+ print("")
for symbol in changed_symbols:
- print symbol
- print ""
+ print(symbol)
+ print("")
if warn:
- print "*** WARNING - ABI SYMBOLS MOVED ***"
- print ""
- print "The following symbols moved (typically caused by moving a symbol from being"
- print "provided by the kernel vmlinux out to a loadable module):"
- print ""
+ print("*** WARNING - ABI SYMBOLS MOVED ***")
+ print("")
+ print("The following symbols moved (typically caused by moving a symbol from being")
+ print("provided by the kernel vmlinux out to a loadable module):")
+ print("")
for symbol in moved_symbols:
- print symbol
- print ""
+ print(symbol)
+ print("")
"""Halt the build, if we got errors and/or warnings. In either case,
double-checkig is required to avoid introducing / concealing
@@ -111,12 +111,12 @@ def check_kabi(symvers,kabi):
sys.exit(0)
def usage():
- print """
+ print("""
check-kabi: check Module.kabi and Module.symvers files.
check-kabi [ -k Module.kabi ] [ -s Module.symvers ]
-"""
+""")
if __name__ == "__main__":
diff --git a/scripts/diffconfig b/scripts/diffconfig
index 89abf77..5c07d57 100755
--- a/scripts/diffconfig
+++ b/scripts/diffconfig
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# SPDX-License-Identifier: GPL-2.0
#
# diffconfig - a tool to compare .config files.
@@ -54,16 +54,16 @@ def print_config(op, config, value, new_value):
if merge_style:
if new_value:
if new_value=="n":
- print("# CONFIG_%s is not set" % config)
+ print(("# CONFIG_%s is not set" % config))
else:
- print("CONFIG_%s=%s" % (config, new_value))
+ print(("CONFIG_%s=%s" % (config, new_value)))
else:
if op=="-":
- print("-%s %s" % (config, value))
+ print(("-%s %s" % (config, value)))
elif op=="+":
- print("+%s %s" % (config, new_value))
+ print(("+%s %s" % (config, new_value)))
else:
- print(" %s %s -> %s" % (config, value, new_value))
+ print((" %s %s -> %s" % (config, value, new_value)))
def main():
global merge_style
@@ -98,7 +98,7 @@ def main():
b = readconfig(open(configb_filename))
except (IOError):
e = sys.exc_info()[1]
- print("I/O error[%s]: %s\n" % (e.args[0],e.args[1]))
+ print(("I/O error[%s]: %s\n" % (e.args[0],e.args[1])))
usage()
# print items in a but not b (accumulate, sort and print)
diff --git a/scripts/show_delta b/scripts/show_delta
index 5b36500..78b4b73 100755
--- a/scripts/show_delta
+++ b/scripts/show_delta
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
#
# show_deltas: Read list of printk messages instrumented with
# time data, and format with time deltas.
@@ -94,11 +94,11 @@ def main():
try:
lines = open(filein,"r").readlines()
except:
- print ("Problem opening file: %s" % filein)
+ print(("Problem opening file: %s" % filein))
sys.exit(1)
if base_str:
- print ('base= "%s"' % base_str)
+ print(('base= "%s"' % base_str))
# assume a numeric base. If that fails, try searching
# for a matching line.
try:
@@ -117,12 +117,12 @@ def main():
# stop at first match
break
if not found:
- print ('Couldn\'t find line matching base pattern "%s"' % base_str)
+ print(('Couldn\'t find line matching base pattern "%s"' % base_str))
sys.exit(1)
else:
base_time = 0.0
for line in lines:
- print (convert_line(line, base_time),)
+ print((convert_line(line, base_time),))
main()
diff --git a/scripts/spdxcheck.py b/scripts/spdxcheck.py
index e559c62..1b88b6b 100755
--- a/scripts/spdxcheck.py
+++ b/scripts/spdxcheck.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0
# Copyright Thomas Gleixner <tglx@linutronix.de>
diff --git a/scripts/tracing/draw_functrace.py b/scripts/tracing/draw_functrace.py
index 9b6dd4f..87974cc 100755
--- a/scripts/tracing/draw_functrace.py
+++ b/scripts/tracing/draw_functrace.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
"""
Copyright 2008 (c) Frederic Weisbecker <fweisbec@gmail.com>
@@ -123,7 +123,7 @@ def main():
tree = tree.getParent(caller)
tree = tree.calls(callee, calltime)
- print(CallTree.ROOT)
+ print((CallTree.ROOT))
if __name__ == "__main__":
main()
diff --git a/tools/hv/lsvmbus b/tools/hv/lsvmbus
index 099f2c4..80517ab 100644
--- a/tools/hv/lsvmbus
+++ b/tools/hv/lsvmbus
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0
import os
@@ -17,7 +17,7 @@ if options.verbose is not None:
vmbus_sys_path = '/sys/bus/vmbus/devices'
if not os.path.isdir(vmbus_sys_path):
- print("%s doesn't exist: exiting..." % vmbus_sys_path)
+ print(("%s doesn't exist: exiting..." % vmbus_sys_path))
exit(-1)
vmbus_dev_dict = {
@@ -96,17 +96,17 @@ format2 = '%2s: Class_ID = %s - %s\n\tDevice_ID = %s\n\tSysfs path: %s\n%s'
for d in vmbus_dev_list:
if verbose == 0:
- print(('VMBUS ID ' + format0) % (d.vmbus_id, d.dev_desc))
+ print((('VMBUS ID ' + format0) % (d.vmbus_id, d.dev_desc)))
elif verbose == 1:
- print(
+ print((
('VMBUS ID ' + format1) %
(d.vmbus_id, d.class_id, d.dev_desc, d.chn_vp_mapping)
- )
+ ))
else:
- print(
+ print((
('VMBUS ID ' + format2) %
(
d.vmbus_id, d.class_id, d.dev_desc,
d.device_id, d.sysfs_path, d.chn_vp_mapping
)
- )
+ ))
diff --git a/tools/kvm/kvm_stat/kvm_stat b/tools/kvm/kvm_stat/kvm_stat
index f6ca0a2..054c80f 100755
--- a/tools/kvm/kvm_stat/kvm_stat
+++ b/tools/kvm/kvm_stat/kvm_stat
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
#
# top-like utility for displaying kvm statistics
#
@@ -19,7 +19,7 @@ Three different ways of output formatting are available:
The data is sampled from the KVM's debugfs entries and its perf events.
"""
-from __future__ import print_function
+
import curses
import sys
@@ -388,9 +388,9 @@ class Group(object):
"""
length = 8 * (1 + len(self.events))
read_format = 'xxxxxxxx' + 'Q' * len(self.events)
- return dict(zip([event.name for event in self.events],
+ return dict(list(zip([event.name for event in self.events],
struct.unpack(read_format,
- os.read(self.events[0].fd, length))))
+ os.read(self.events[0].fd, length)))))
class Event(object):
@@ -600,8 +600,8 @@ class TracepointProvider(Provider):
integers.append(int(member))
else:
int_range = member.split('-')
- integers.extend(range(int(int_range[0]),
- int(int_range[1]) + 1))
+ integers.extend(list(range(int(int_range[0]),
+ int(int_range[1]) + 1)))
return integers
@@ -704,7 +704,7 @@ class TracepointProvider(Provider):
"""Returns 'event name: current value' for all enabled events."""
ret = defaultdict(int)
for group in self.group_leaders:
- for name, val in group.read().items():
+ for name, val in list(group.read().items()):
if name not in self._fields:
continue
parent = ARCH.tracepoint_is_child(name)
@@ -771,7 +771,7 @@ class DebugfsProvider(Provider):
if len(vms) == 0:
self.do_read = False
- self.paths = list(filter(lambda x: "{}-".format(pid) in x, vms))
+ self.paths = list([x for x in vms if "{}-".format(pid) in x])
else:
self.paths = []
@@ -959,7 +959,7 @@ class Stats(object):
for provider in self.providers:
if isinstance(provider, DebugfsProvider):
for key in provider.fields:
- if key in self.values.keys():
+ if key in list(self.values.keys()):
del self.values[key]
else:
oldvals = self.values.copy()
@@ -1165,7 +1165,7 @@ class Tui(object):
sorted_items = []
# we can't rule out child events to appear prior to parents even
# when sorted - separate out all children first, and add in later
- for key, values in sorted(stats.items(), key=sortkey,
+ for key, values in sorted(list(stats.items()), key=sortkey,
reverse=True):
if values == (0, 0):
continue
@@ -1201,7 +1201,7 @@ class Tui(object):
stats = self.stats.get(self._display_guests)
total = 0.
ctotal = 0.
- for key, values in stats.items():
+ for key, values in list(stats.items()):
if self._display_guests:
if self.get_gname_from_pid(key):
total += values.value
@@ -1699,7 +1699,7 @@ def main():
if options.fields == 'help':
stats.fields_filter = None
event_list = []
- for key in stats.get().keys():
+ for key in list(stats.get().keys()):
event_list.append(key.split('(', 1)[0])
sys.stdout.write(' ' + '\n '.join(sorted(set(event_list))) + '\n')
sys.exit(0)
diff --git a/tools/perf/python/tracepoint.py b/tools/perf/python/tracepoint.py
index eb76f65..4afbeeb 100755
--- a/tools/perf/python/tracepoint.py
+++ b/tools/perf/python/tracepoint.py
@@ -1,4 +1,4 @@
-#! /usr/bin/python
+#!/usr/bin/python3
# SPDX-License-Identifier: GPL-2.0
# -*- python -*-
# -*- coding: utf-8 -*-
@@ -34,7 +34,7 @@ def main():
if not isinstance(event, perf.sample_event):
continue
- print "time %u prev_comm=%s prev_pid=%d prev_prio=%d prev_state=0x%x ==> next_comm=%s next_pid=%d next_prio=%d" % (
+ print("time %u prev_comm=%s prev_pid=%d prev_prio=%d prev_state=0x%x ==> next_comm=%s next_pid=%d next_prio=%d" % (
event.sample_time,
event.prev_comm,
event.prev_pid,
@@ -42,7 +42,7 @@ def main():
event.prev_state,
event.next_comm,
event.next_pid,
- event.next_prio)
+ event.next_prio))
if __name__ == '__main__':
main()
diff --git a/tools/perf/python/twatch.py b/tools/perf/python/twatch.py
index 0a29c5c..987ddf7 100755
--- a/tools/perf/python/twatch.py
+++ b/tools/perf/python/twatch.py
@@ -1,4 +1,4 @@
-#! /usr/bin/python
+#!/usr/bin/python3
# -*- python -*-
# -*- coding: utf-8 -*-
# twatch - Experimental use of the perf python interface
@@ -42,10 +42,10 @@ def main(context_switch = 0, thread = -1):
event = evlist.read_on_cpu(cpu)
if not event:
continue
- print("cpu: {0}, pid: {1}, tid: {2} {3}".format(event.sample_cpu,
+ print(("cpu: {0}, pid: {1}, tid: {2} {3}".format(event.sample_cpu,
event.sample_pid,
event.sample_tid,
- event))
+ event)))
if __name__ == '__main__':
"""
diff --git a/tools/perf/scripts/python/call-graph-from-sql.py b/tools/perf/scripts/python/call-graph-from-sql.py
index b494a67..d30af15 100644
--- a/tools/perf/scripts/python/call-graph-from-sql.py
+++ b/tools/perf/scripts/python/call-graph-from-sql.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
# call-graph-from-sql.py: create call-graph from sql database
# Copyright (c) 2014-2017, Intel Corporation.
#
@@ -84,7 +84,7 @@ class TreeItem():
ret = query.exec_('SELECT id, comm FROM comms')
if not ret:
raise Exception("Query failed: " + query.lastError().text())
- while query.next():
+ while next(query):
if not query.value(0):
continue
child_item = TreeItem(self.db, self.child_count, self)
@@ -102,7 +102,7 @@ class TreeItem():
ret = query.exec_('SELECT thread_id, ( SELECT pid FROM threads WHERE id = thread_id ), ( SELECT tid FROM threads WHERE id = thread_id ) FROM comm_threads WHERE comm_id = ' + str(comm_id))
if not ret:
raise Exception("Query failed: " + query.lastError().text())
- while query.next():
+ while next(query):
child_item = TreeItem(self.db, self.child_count, self)
self.child_items.append(child_item)
self.child_count += 1
@@ -172,7 +172,7 @@ class TreeItem():
total_branch_count = 0
time = 0
total_time = 0
- while query.next():
+ while next(query):
if query.value(1) == last_call_path_id:
count += 1
branch_count += query.value(2)
@@ -292,7 +292,7 @@ class MainWindow(QMainWindow):
if __name__ == '__main__':
if (len(sys.argv) < 2):
- print >> sys.stderr, "Usage is: call-graph-from-sql.py <database name>"
+ print("Usage is: call-graph-from-sql.py <database name>", file=sys.stderr)
raise Exception("Too few arguments")
dbname = sys.argv[1]
diff --git a/tools/perf/scripts/python/sched-migration.py b/tools/perf/scripts/python/sched-migration.py
index 3473e7f..981562c 100644
--- a/tools/perf/scripts/python/sched-migration.py
+++ b/tools/perf/scripts/python/sched-migration.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
#
# Cpu task migration overview toy
#
@@ -9,14 +9,14 @@
# This software is distributed under the terms of the GNU General
# Public License ("GPL") version 2 as published by the Free Software
# Foundation.
-from __future__ import print_function
+
import os
import sys
from collections import defaultdict
try:
- from UserList import UserList
+ from collections import UserList
except ImportError:
# Python 3: UserList moved to the collections package
from collections import UserList
diff --git a/tools/perf/scripts/python/stat-cpi.py b/tools/perf/scripts/python/stat-cpi.py
index 8410672..246ce58 100644
--- a/tools/perf/scripts/python/stat-cpi.py
+++ b/tools/perf/scripts/python/stat-cpi.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0
data = {}
@@ -59,7 +59,7 @@ def stat__interval(time):
if ins != 0:
cpi = cyc/float(ins)
- print "%15f: cpu %d, thread %d -> cpi %f (%d/%d)" % (time/(float(1000000000)), cpu, thread, cpi, cyc, ins)
+ print("%15f: cpu %d, thread %d -> cpi %f (%d/%d)" % (time/(float(1000000000)), cpu, thread, cpi, cyc, ins))
def trace_end():
pass
diff --git a/tools/perf/tests/attr.py b/tools/perf/tests/attr.py
index 44090a9..42c241e 100644
--- a/tools/perf/tests/attr.py
+++ b/tools/perf/tests/attr.py
@@ -1,4 +1,4 @@
-#! /usr/bin/python
+#!/usr/bin/python3
# SPDX-License-Identifier: GPL-2.0
import os
@@ -8,7 +8,7 @@ import optparse
import tempfile
import logging
import shutil
-import ConfigParser
+import configparser
def data_equal(a, b):
# Allow multiple values in assignment separated by '|'
@@ -100,20 +100,20 @@ class Event(dict):
def equal(self, other):
for t in Event.terms:
log.debug(" [%s] %s %s" % (t, self[t], other[t]));
- if not self.has_key(t) or not other.has_key(t):
+ if t not in self or t not in other:
return False
if not data_equal(self[t], other[t]):
return False
return True
def optional(self):
- if self.has_key('optional') and self['optional'] == '1':
+ if 'optional' in self and self['optional'] == '1':
return True
return False
def diff(self, other):
for t in Event.terms:
- if not self.has_key(t) or not other.has_key(t):
+ if t not in self or t not in other:
continue
if not data_equal(self[t], other[t]):
log.warning("expected %s=%s, got %s" % (t, self[t], other[t]))
@@ -134,7 +134,7 @@ class Event(dict):
# - expected values assignments
class Test(object):
def __init__(self, path, options):
- parser = ConfigParser.SafeConfigParser()
+ parser = configparser.SafeConfigParser()
parser.read(path)
log.warning("running '%s'" % path)
@@ -193,7 +193,7 @@ class Test(object):
return True
def load_events(self, path, events):
- parser_event = ConfigParser.SafeConfigParser()
+ parser_event = configparser.SafeConfigParser()
parser_event.read(path)
# The event record section header contains 'event' word,
@@ -207,7 +207,7 @@ class Test(object):
# Read parent event if there's any
if (':' in section):
base = section[section.index(':') + 1:]
- parser_base = ConfigParser.SafeConfigParser()
+ parser_base = configparser.SafeConfigParser()
parser_base.read(self.test_dir + '/' + base)
base_items = parser_base.items('event')
@@ -236,11 +236,11 @@ class Test(object):
# For each expected event find all matching
# events in result. Fail if there's not any.
- for exp_name, exp_event in expect.items():
+ for exp_name, exp_event in list(expect.items()):
exp_list = []
res_event = {}
log.debug(" matching [%s]" % exp_name)
- for res_name, res_event in result.items():
+ for res_name, res_event in list(result.items()):
log.debug(" to [%s]" % res_name)
if (exp_event.equal(res_event)):
exp_list.append(res_name)
@@ -265,7 +265,7 @@ class Test(object):
# For each defined group in the expected events
# check we match the same group in the result.
- for exp_name, exp_event in expect.items():
+ for exp_name, exp_event in list(expect.items()):
group = exp_event.group
if (group == ''):
@@ -282,12 +282,12 @@ class Test(object):
log.debug(" matched")
def resolve_groups(self, events):
- for name, event in events.items():
+ for name, event in list(events.items()):
group_fd = event['group_fd'];
if group_fd == '-1':
continue;
- for iname, ievent in events.items():
+ for iname, ievent in list(events.items()):
if (ievent['fd'] == group_fd):
event.group = iname
log.debug('[%s] has group leader [%s]' % (name, iname))
@@ -322,9 +322,9 @@ def run_tests(options):
for f in glob.glob(options.test_dir + '/' + options.test):
try:
Test(f, options).run()
- except Unsup, obj:
+ except Unsup as obj:
log.warning("unsupp %s" % obj.getMsg())
- except Notest, obj:
+ except Notest as obj:
log.warning("skipped %s" % obj.getMsg())
def setup_log(verbose):
@@ -373,7 +373,7 @@ def main():
setup_log(options.verbose)
if not options.test_dir:
- print 'FAILED no -d option specified'
+ print('FAILED no -d option specified')
sys.exit(-1)
if not options.test:
@@ -382,8 +382,8 @@ def main():
try:
run_tests(options)
- except Fail, obj:
- print "FAILED %s" % obj.getMsg();
+ except Fail as obj:
+ print("FAILED %s" % obj.getMsg());
sys.exit(-1)
sys.exit(0)
diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
index 1942f6d..383a9fb 100644
--- a/tools/perf/util/setup.py
+++ b/tools/perf/util/setup.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
from os import getenv
from subprocess import Popen, PIPE
@@ -49,7 +49,7 @@ ext_sources = [f.strip() for f in open('util/python-ext-sources')
if len(f.strip()) > 0 and f[0] != '#']
# use full paths with source files
-ext_sources = list(map(lambda x: '%s/%s' % (src_perf, x) , ext_sources))
+ext_sources = list(['%s/%s' % (src_perf, x) for x in ext_sources])
perf = Extension('perf',
sources = ext_sources,
diff --git a/tools/power/pm-graph/bootgraph.py b/tools/power/pm-graph/bootgraph.py
index 8ee626c..9a174e0 100755
--- a/tools/power/pm-graph/bootgraph.py
+++ b/tools/power/pm-graph/bootgraph.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
#
# Tool for analyzing boot timing
# Copyright (c) 2013, Intel Corporation.
@@ -141,13 +141,13 @@ class SystemValues(aslib.SystemValues):
if arg in ['-h', '-v', '-cronjob', '-reboot', '-verbose']:
continue
elif arg in ['-o', '-dmesg', '-ftrace', '-func']:
- args.next()
+ next(args)
continue
elif arg == '-result':
- cmdline += ' %s "%s"' % (arg, os.path.abspath(args.next()))
+ cmdline += ' %s "%s"' % (arg, os.path.abspath(next(args)))
continue
elif arg == '-cgskip':
- file = self.configFile(args.next())
+ file = self.configFile(next(args))
cmdline += ' %s "%s"' % (arg, os.path.abspath(file))
continue
cmdline += ' '+arg
@@ -157,11 +157,11 @@ class SystemValues(aslib.SystemValues):
return cmdline
def manualRebootRequired(self):
cmdline = self.kernelParams()
- print 'To generate a new timeline manually, follow these steps:\n'
- print '1. Add the CMDLINE string to your kernel command line.'
- print '2. Reboot the system.'
- print '3. After reboot, re-run this tool with the same arguments but no command (w/o -reboot or -manual).\n'
- print 'CMDLINE="%s"' % cmdline
+ print('To generate a new timeline manually, follow these steps:\n')
+ print('1. Add the CMDLINE string to your kernel command line.')
+ print('2. Reboot the system.')
+ print('3. After reboot, re-run this tool with the same arguments but no command (w/o -reboot or -manual).\n')
+ print('CMDLINE="%s"' % cmdline)
sys.exit()
def blGrub(self):
blcmd = ''
@@ -431,7 +431,7 @@ def parseTraceLog(data):
if len(cg.list) < 1 or cg.invalid or (cg.end - cg.start == 0):
continue
if(not cg.postProcess()):
- print('Sanity check failed for %s-%d' % (proc, pid))
+ print(('Sanity check failed for %s-%d' % (proc, pid)))
continue
# match cg data to devices
devname = data.deviceMatch(pid, cg)
@@ -442,8 +442,8 @@ def parseTraceLog(data):
sysvals.vprint('%s callgraph found for %s %s-%d [%f - %f]' %\
(kind, cg.name, proc, pid, cg.start, cg.end))
elif len(cg.list) > 1000000:
- print 'WARNING: the callgraph found for %s is massive! (%d lines)' %\
- (devname, len(cg.list))
+ print('WARNING: the callgraph found for %s is massive! (%d lines)' %\
+ (devname, len(cg.list)))
# Function: retrieveLogs
# Description:
@@ -733,8 +733,8 @@ def updateCron(restore=False):
op.write('@reboot python %s\n' % sysvals.cronjobCmdString())
op.close()
res = call([cmd, cronfile])
- except Exception, e:
- print 'Exception: %s' % str(e)
+ except Exception as e:
+ print('Exception: %s' % str(e))
shutil.move(backfile, cronfile)
res = -1
if res != 0:
@@ -749,8 +749,8 @@ def updateGrub(restore=False):
try:
call(sysvals.blexec, stderr=PIPE, stdout=PIPE,
env={'PATH': '.:/sbin:/usr/sbin:/usr/bin:/sbin:/bin'})
- except Exception, e:
- print 'Exception: %s\n' % str(e)
+ except Exception as e:
+ print('Exception: %s\n' % str(e))
return
# extract the option and create a grub config without it
sysvals.rootUser(True)
@@ -796,8 +796,8 @@ def updateGrub(restore=False):
op.close()
res = call(sysvals.blexec)
os.remove(grubfile)
- except Exception, e:
- print 'Exception: %s' % str(e)
+ except Exception as e:
+ print('Exception: %s' % str(e))
res = -1
# cleanup
shutil.move(tempfile, grubfile)
@@ -821,7 +821,7 @@ def updateKernelParams(restore=False):
def doError(msg, help=False):
if help == True:
printHelp()
- print 'ERROR: %s\n' % msg
+ print('ERROR: %s\n' % msg)
sysvals.outputResult({'error':msg})
sys.exit()
@@ -830,7 +830,7 @@ def doError(msg, help=False):
# print out the help text
def printHelp():
print('')
- print('%s v%s' % (sysvals.title, sysvals.version))
+ print(('%s v%s' % (sysvals.title, sysvals.version)))
print('Usage: bootgraph <options> <command>')
print('')
print('Description:')
@@ -895,7 +895,7 @@ if __name__ == '__main__':
printHelp()
sys.exit()
elif(arg == '-v'):
- print("Version %s" % sysvals.version)
+ print(("Version %s" % sysvals.version))
sys.exit()
elif(arg == '-verbose'):
sysvals.verbose = True
@@ -912,13 +912,13 @@ if __name__ == '__main__':
sysvals.mincglen = aslib.getArgFloat('-mincg', args, 0.0, 10000.0)
elif(arg == '-cgfilter'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No callgraph functions supplied', True)
sysvals.setCallgraphFilter(val)
elif(arg == '-cgskip'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No file supplied', True)
if val.lower() in switchoff:
@@ -929,7 +929,7 @@ if __name__ == '__main__':
doError('%s does not exist' % cgskip)
elif(arg == '-bl'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No boot loader name supplied', True)
if val.lower() not in ['grub']:
@@ -942,7 +942,7 @@ if __name__ == '__main__':
sysvals.max_graph_depth = aslib.getArgInt('-maxdepth', args, 0, 1000)
elif(arg == '-func'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No filter functions supplied', True)
sysvals.useftrace = True
@@ -951,7 +951,7 @@ if __name__ == '__main__':
sysvals.setGraphFilter(val)
elif(arg == '-ftrace'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No ftrace file supplied', True)
if(os.path.exists(val) == False):
@@ -964,7 +964,7 @@ if __name__ == '__main__':
sysvals.cgexp = True
elif(arg == '-dmesg'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No dmesg file supplied', True)
if(os.path.exists(val) == False):
@@ -973,13 +973,13 @@ if __name__ == '__main__':
sysvals.dmesgfile = val
elif(arg == '-o'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No subdirectory name supplied', True)
sysvals.testdir = sysvals.setOutputFolder(val)
elif(arg == '-result'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No result file supplied', True)
sysvals.result = val
@@ -1013,10 +1013,10 @@ if __name__ == '__main__':
updateKernelParams()
elif cmd == 'flistall':
for f in sysvals.getBootFtraceFilterFunctions():
- print f
+ print(f)
elif cmd == 'checkbl':
sysvals.getBootLoader()
- print 'Boot Loader: %s\n%s' % (sysvals.bootloader, sysvals.blexec)
+ print('Boot Loader: %s\n%s' % (sysvals.bootloader, sysvals.blexec))
elif(cmd == 'sysinfo'):
sysvals.printSystemInfo(True)
sys.exit()
diff --git a/tools/power/pm-graph/sleepgraph.py b/tools/power/pm-graph/sleepgraph.py
index 0c76047..3a6c07f 100755
--- a/tools/power/pm-graph/sleepgraph.py
+++ b/tools/power/pm-graph/sleepgraph.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
#
# Tool for analyzing suspend/resume timing
# Copyright (c) 2013, Intel Corporation.
@@ -56,7 +56,7 @@ import re
import platform
from datetime import datetime
import struct
-import ConfigParser
+import configparser
import gzip
from threading import Thread
from subprocess import call, Popen, PIPE
@@ -265,7 +265,7 @@ class SystemValues:
return True
if fatal:
msg = 'This command requires sysfs mount and root access'
- print('ERROR: %s\n') % msg
+ print(('ERROR: %s\n') % msg)
self.outputResult({'error':msg})
sys.exit()
return False
@@ -274,7 +274,7 @@ class SystemValues:
return True
if fatal:
msg = 'This command must be run as root'
- print('ERROR: %s\n') % msg
+ print(('ERROR: %s\n') % msg)
self.outputResult({'error':msg})
sys.exit()
return False
@@ -329,10 +329,10 @@ class SystemValues:
return
fmt = '%-24s: %s'
for name in sorted(out):
- print fmt % (name, out[name])
- print fmt % ('cpucount', ('%d' % self.cpucount))
- print fmt % ('memtotal', ('%d kB' % self.memtotal))
- print fmt % ('memfree', ('%d kB' % self.memfree))
+ print(fmt % (name, out[name]))
+ print(fmt % ('cpucount', ('%d' % self.cpucount)))
+ print(fmt % ('memtotal', ('%d kB' % self.memtotal)))
+ print(fmt % ('memfree', ('%d kB' % self.memfree)))
def cpuInfo(self):
self.cpucount = 0
fp = open('/proc/cpuinfo', 'r')
@@ -447,9 +447,9 @@ class SystemValues:
if 'func' in self.tracefuncs[i]:
i = self.tracefuncs[i]['func']
if i in master:
- print i
+ print(i)
else:
- print self.colorText(i)
+ print(self.colorText(i))
def setFtraceFilterFunctions(self, list):
master = self.listFromFile(self.tpath+'available_filter_functions')
flist = ''
@@ -557,7 +557,7 @@ class SystemValues:
else:
kpl[2].append(name)
if output:
- print(' %s: %s' % (name, res))
+ print((' %s: %s' % (name, res)))
kplist = kpl[0] + kpl[1] + kpl[2] + kpl[3]
# remove all failed ones from the list
for name in rejects:
@@ -571,7 +571,7 @@ class SystemValues:
if output:
check = self.fgetVal('kprobe_events')
linesack = (len(check.split('\n')) - 1) / 2
- print(' kprobe functions enabled: %d/%d' % (linesack, linesout))
+ print((' kprobe functions enabled: %d/%d' % (linesack, linesout)))
self.fsetVal('1', 'events/kprobes/enable')
def testKprobe(self, kname, kprobe):
self.fsetVal('0', 'events/kprobes/enable')
@@ -658,7 +658,7 @@ class SystemValues:
if tgtsize < 65536:
tgtsize = int(self.fgetVal('buffer_size_kb')) * cpus
break
- print 'Setting trace buffers to %d kB (%d kB per cpu)' % (tgtsize, tgtsize/cpus)
+ print('Setting trace buffers to %d kB (%d kB per cpu)' % (tgtsize, tgtsize/cpus))
# initialize the callgraph trace
if(self.usecallgraph):
# set trace type
@@ -808,7 +808,7 @@ class DevProps:
def out(self, dev):
return '%s,%s,%d;' % (dev, self.altname, self.async)
def debug(self, dev):
- print '%s:\n\taltname = %s\n\t async = %s' % (dev, self.altname, self.async)
+ print('%s:\n\taltname = %s\n\t async = %s' % (dev, self.altname, self.async))
def altName(self, dev):
if not self.altname or self.altname == dev:
return dev
@@ -1633,14 +1633,14 @@ class FTraceLine:
return len(str)/2
def debugPrint(self, info=''):
if self.isLeaf():
- print(' -- %12.6f (depth=%02d): %s(); (%.3f us) %s' % (self.time, \
- self.depth, self.name, self.length*1000000, info))
+ print((' -- %12.6f (depth=%02d): %s(); (%.3f us) %s' % (self.time, \
+ self.depth, self.name, self.length*1000000, info)))
elif self.freturn:
- print(' -- %12.6f (depth=%02d): %s} (%.3f us) %s' % (self.time, \
- self.depth, self.name, self.length*1000000, info))
+ print((' -- %12.6f (depth=%02d): %s} (%.3f us) %s' % (self.time, \
+ self.depth, self.name, self.length*1000000, info)))
else:
- print(' -- %12.6f (depth=%02d): %s() { (%.3f us) %s' % (self.time, \
- self.depth, self.name, self.length*1000000, info))
+ print((' -- %12.6f (depth=%02d): %s() { (%.3f us) %s' % (self.time, \
+ self.depth, self.name, self.length*1000000, info)))
def startMarker(self):
# Is this the starting line of a suspend?
if not self.fevent:
@@ -1786,7 +1786,7 @@ class FTraceCallGraph:
if warning and ('[make leaf]', line) not in info:
info.append(('', line))
if warning:
- print 'WARNING: ftrace data missing, corrections made:'
+ print('WARNING: ftrace data missing, corrections made:')
for i in info:
t, obj = i
if obj:
@@ -1846,11 +1846,11 @@ class FTraceCallGraph:
id = 'task %s' % (self.pid)
window = '(%f - %f)' % (self.start, line.time)
if(self.depth < 0):
- print('Data misalignment for '+id+\
- ' (buffer overflow), ignoring this callback')
+ print(('Data misalignment for '+id+\
+ ' (buffer overflow), ignoring this callback'))
else:
- print('Too much data for '+id+\
- ' '+window+', ignoring this callback')
+ print(('Too much data for '+id+\
+ ' '+window+', ignoring this callback'))
def slice(self, dev):
minicg = FTraceCallGraph(dev['pid'], self.sv)
minicg.name = self.name
@@ -1875,7 +1875,7 @@ class FTraceCallGraph:
# bring the depth back to 0 with additional returns
fixed = False
last = self.list[-1]
- for i in reversed(range(enddepth)):
+ for i in reversed(list(range(enddepth))):
t = FTraceLine(last.time)
t.depth = i
t.freturn = True
@@ -1902,7 +1902,7 @@ class FTraceCallGraph:
elif l.isReturn():
if(l.depth not in stack):
if self.sv.verbose:
- print 'Post Process Error: Depth missing'
+ print('Post Process Error: Depth missing')
l.debugPrint()
return False
# calculate call length from call/return lines
@@ -1919,7 +1919,7 @@ class FTraceCallGraph:
return True
elif(cnt < 0):
if self.sv.verbose:
- print 'Post Process Error: Depth is less than 0'
+ print('Post Process Error: Depth is less than 0')
return False
# trace ended before call tree finished
return self.repair(cnt)
@@ -1978,19 +1978,19 @@ class FTraceCallGraph:
phase, myname = out
data.dmesg[phase]['list'][myname]['ftrace'] = self
def debugPrint(self, info=''):
- print('%s pid=%d [%f - %f] %.3f us') % \
+ print(('%s pid=%d [%f - %f] %.3f us') % \
(self.name, self.pid, self.start, self.end,
- (self.end - self.start)*1000000)
+ (self.end - self.start)*1000000))
for l in self.list:
if l.isLeaf():
- print('%f (%02d): %s(); (%.3f us)%s' % (l.time, \
- l.depth, l.name, l.length*1000000, info))
+ print(('%f (%02d): %s(); (%.3f us)%s' % (l.time, \
+ l.depth, l.name, l.length*1000000, info)))
elif l.freturn:
- print('%f (%02d): %s} (%.3f us)%s' % (l.time, \
- l.depth, l.name, l.length*1000000, info))
+ print(('%f (%02d): %s} (%.3f us)%s' % (l.time, \
+ l.depth, l.name, l.length*1000000, info)))
else:
- print('%f (%02d): %s() { (%.3f us)%s' % (l.time, \
- l.depth, l.name, l.length*1000000, info))
+ print(('%f (%02d): %s() { (%.3f us)%s' % (l.time, \
+ l.depth, l.name, l.length*1000000, info)))
print(' ')
class DevItem:
@@ -3040,8 +3040,8 @@ def parseTraceLog(live=False):
sortkey = '%f%f%d' % (cg.start, cg.end, pid)
sortlist[sortkey] = cg
elif len(cg.list) > 1000000:
- print 'WARNING: the callgraph for %s is massive (%d lines)' %\
- (devname, len(cg.list))
+ print('WARNING: the callgraph for %s is massive (%d lines)' %\
+ (devname, len(cg.list)))
# create blocks for orphan cg data
for sortkey in sorted(sortlist):
cg = sortlist[sortkey]
@@ -3061,7 +3061,7 @@ def parseTraceLog(live=False):
for p in data.phases:
if(data.dmesg[p]['start'] < 0 and data.dmesg[p]['end'] < 0):
if not terr:
- print 'TEST%s FAILED: %s failed in %s phase' % (tn, sysvals.suspendmode, lp)
+ print('TEST%s FAILED: %s failed in %s phase' % (tn, sysvals.suspendmode, lp))
terr = '%s%s failed in %s phase' % (sysvals.suspendmode, tn, lp)
error.append(terr)
sysvals.vprint('WARNING: phase "%s" is missing!' % p)
@@ -3158,8 +3158,8 @@ def loadKernelLog():
if data:
testruns.append(data)
if len(testruns) < 1:
- print('ERROR: dmesg log has no suspend/resume data: %s' \
- % sysvals.dmesgfile)
+ print(('ERROR: dmesg log has no suspend/resume data: %s' \
+ % sysvals.dmesgfile))
# fix lines with same timestamp/function with the call and return swapped
for data in testruns:
@@ -3401,10 +3401,10 @@ def parseKernelLog(data):
lp = data.phases[0]
for p in data.phases:
if(data.dmesg[p]['start'] < 0 and data.dmesg[p]['end'] < 0):
- print('WARNING: phase "%s" is missing, something went wrong!' % p)
- print(' In %s, this dmesg line denotes the start of %s:' % \
- (sysvals.suspendmode, p))
- print(' "%s"' % dm[p])
+ print(('WARNING: phase "%s" is missing, something went wrong!' % p))
+ print((' In %s, this dmesg line denotes the start of %s:' % \
+ (sysvals.suspendmode, p)))
+ print((' "%s"' % dm[p]))
if(data.dmesg[p]['start'] < 0):
data.dmesg[p]['start'] = data.dmesg[lp]['end']
if(p == 'resume_machine'):
@@ -4526,14 +4526,14 @@ def setRuntimeSuspend(before=True):
sv.rslist = deviceInfo(sv.rstgt)
for i in sv.rslist:
sv.setVal(sv.rsval, i)
- print('runtime suspend %s on all devices (%d changed)' % (sv.rsdir, len(sv.rslist)))
+ print(('runtime suspend %s on all devices (%d changed)' % (sv.rsdir, len(sv.rslist))))
print('waiting 5 seconds...')
time.sleep(5)
else:
# runtime suspend re-enable or re-disable
for i in sv.rslist:
sv.setVal(sv.rstgt, i)
- print('runtime suspend settings restored on %d devices' % len(sv.rslist))
+ print(('runtime suspend settings restored on %d devices' % len(sv.rslist)))
# Function: executeSuspend
# Description:
@@ -4581,7 +4581,7 @@ def executeSuspend():
print('SUSPEND START (press a key to resume)')
# set rtcwake
if(sysvals.rtcwake):
- print('will issue an rtcwake in %d seconds' % sysvals.rtcwaketime)
+ print(('will issue an rtcwake in %d seconds' % sysvals.rtcwaketime))
sysvals.rtcWakeAlarmOn()
# start of suspend trace marker
if(sysvals.usecallgraph or sysvals.usetraceevents):
@@ -4723,7 +4723,7 @@ def deviceInfo(output=''):
ms2nice(power['runtime_active_time']), \
ms2nice(power['runtime_suspended_time']))
for i in sorted(lines):
- print lines[i]
+ print(lines[i])
return res
# Function: devProps
@@ -5056,16 +5056,16 @@ def getFPDT(output):
table = struct.unpack('4sIBB6s8sI4sI', buf[0:36])
if(output):
print('')
- print('Firmware Performance Data Table (%s)' % table[0])
- print(' Signature : %s' % table[0])
- print(' Table Length : %u' % table[1])
- print(' Revision : %u' % table[2])
- print(' Checksum : 0x%x' % table[3])
- print(' OEM ID : %s' % table[4])
- print(' OEM Table ID : %s' % table[5])
- print(' OEM Revision : %u' % table[6])
- print(' Creator ID : %s' % table[7])
- print(' Creator Revision : 0x%x' % table[8])
+ print(('Firmware Performance Data Table (%s)' % table[0]))
+ print((' Signature : %s' % table[0]))
+ print((' Table Length : %u' % table[1]))
+ print((' Revision : %u' % table[2]))
+ print((' Checksum : 0x%x' % table[3]))
+ print((' OEM ID : %s' % table[4]))
+ print((' OEM Table ID : %s' % table[5]))
+ print((' OEM Revision : %u' % table[6]))
+ print((' Creator ID : %s' % table[7]))
+ print((' Creator Revision : 0x%x' % table[8]))
print('')
if(table[0] != 'FPDT'):
@@ -5092,22 +5092,22 @@ def getFPDT(output):
first = fp.read(8)
except:
if(output):
- print('Bad address 0x%x in %s' % (addr, sysvals.mempath))
+ print(('Bad address 0x%x in %s' % (addr, sysvals.mempath)))
return [0, 0]
rechead = struct.unpack('4sI', first)
recdata = fp.read(rechead[1]-8)
if(rechead[0] == 'FBPT'):
record = struct.unpack('HBBIQQQQQ', recdata)
if(output):
- print('%s (%s)' % (rectype[header[0]], rechead[0]))
- print(' Reset END : %u ns' % record[4])
- print(' OS Loader LoadImage Start : %u ns' % record[5])
- print(' OS Loader StartImage Start : %u ns' % record[6])
- print(' ExitBootServices Entry : %u ns' % record[7])
- print(' ExitBootServices Exit : %u ns' % record[8])
+ print(('%s (%s)' % (rectype[header[0]], rechead[0])))
+ print((' Reset END : %u ns' % record[4]))
+ print((' OS Loader LoadImage Start : %u ns' % record[5]))
+ print((' OS Loader StartImage Start : %u ns' % record[6]))
+ print((' ExitBootServices Entry : %u ns' % record[7]))
+ print((' ExitBootServices Exit : %u ns' % record[8]))
elif(rechead[0] == 'S3PT'):
if(output):
- print('%s (%s)' % (rectype[header[0]], rechead[0]))
+ print(('%s (%s)' % (rectype[header[0]], rechead[0])))
j = 0
while(j < len(recdata)):
prechead = struct.unpack('HBB', recdata[j:j+4])
@@ -5117,24 +5117,24 @@ def getFPDT(output):
record = struct.unpack('IIQQ', recdata[j:j+prechead[1]])
fwData[1] = record[2]
if(output):
- print(' %s' % prectype[prechead[0]])
- print(' Resume Count : %u' % \
- record[1])
- print(' FullResume : %u ns' % \
- record[2])
- print(' AverageResume : %u ns' % \
- record[3])
+ print((' %s' % prectype[prechead[0]]))
+ print((' Resume Count : %u' % \
+ record[1]))
+ print((' FullResume : %u ns' % \
+ record[2]))
+ print((' AverageResume : %u ns' % \
+ record[3]))
elif(prechead[0] == 1):
record = struct.unpack('QQ', recdata[j+4:j+prechead[1]])
fwData[0] = record[1] - record[0]
if(output):
- print(' %s' % prectype[prechead[0]])
- print(' SuspendStart : %u ns' % \
- record[0])
- print(' SuspendEnd : %u ns' % \
- record[1])
- print(' SuspendTime : %u ns' % \
- fwData[0])
+ print((' %s' % prectype[prechead[0]]))
+ print((' SuspendStart : %u ns' % \
+ record[0]))
+ print((' SuspendEnd : %u ns' % \
+ record[1]))
+ print((' SuspendTime : %u ns' % \
+ fwData[0]))
j += prechead[1]
if(output):
print('')
@@ -5151,13 +5151,13 @@ def getFPDT(output):
def statusCheck(probecheck=False):
status = True
- print('Checking this system (%s)...' % platform.node())
+ print(('Checking this system (%s)...' % platform.node()))
# check we have root access
res = sysvals.colorText('NO (No features of this tool will work!)')
if(sysvals.rootCheck(False)):
res = 'YES'
- print(' have root access: %s' % res)
+ print((' have root access: %s' % res))
if(res != 'YES'):
print(' Try running this script with sudo')
return False
@@ -5166,7 +5166,7 @@ def statusCheck(probecheck=False):
res = sysvals.colorText('NO (No features of this tool will work!)')
if(os.path.exists(sysvals.powerfile)):
res = 'YES'
- print(' is sysfs mounted: %s' % res)
+ print((' is sysfs mounted: %s' % res))
if(res != 'YES'):
return False
@@ -5178,9 +5178,9 @@ def statusCheck(probecheck=False):
res = 'YES'
else:
status = False
- print(' is "%s" a valid power mode: %s' % (sysvals.suspendmode, res))
+ print((' is "%s" a valid power mode: %s' % (sysvals.suspendmode, res)))
if(res == 'NO'):
- print(' valid power modes are: %s' % modes)
+ print((' valid power modes are: %s' % modes))
print(' please choose one with -m')
# check if ftrace is available
@@ -5190,7 +5190,7 @@ def statusCheck(probecheck=False):
res = 'YES'
elif(sysvals.usecallgraph):
status = False
- print(' is ftrace supported: %s' % res)
+ print((' is ftrace supported: %s' % res))
# check if kprobes are available
res = sysvals.colorText('NO')
@@ -5199,7 +5199,7 @@ def statusCheck(probecheck=False):
res = 'YES'
else:
sysvals.usedevsrc = False
- print(' are kprobes supported: %s' % res)
+ print((' are kprobes supported: %s' % res))
# what data source are we using
res = 'DMESG'
@@ -5210,7 +5210,7 @@ def statusCheck(probecheck=False):
sysvals.usetraceevents = False
if(sysvals.usetraceevents):
res = 'FTRACE (all trace events found)'
- print(' timeline data source: %s' % res)
+ print((' timeline data source: %s' % res))
# check if rtcwake
res = sysvals.colorText('NO')
@@ -5218,7 +5218,7 @@ def statusCheck(probecheck=False):
res = 'YES'
elif(sysvals.rtcwake):
status = False
- print(' is rtcwake supported: %s' % res)
+ print((' is rtcwake supported: %s' % res))
if not probecheck:
return status
@@ -5243,7 +5243,7 @@ def statusCheck(probecheck=False):
def doError(msg, help=False):
if(help == True):
printHelp()
- print('ERROR: %s\n') % msg
+ print(('ERROR: %s\n') % msg)
sysvals.outputResult({'error':msg})
sys.exit()
@@ -5253,7 +5253,7 @@ def doError(msg, help=False):
def getArgInt(name, args, min, max, main=True):
if main:
try:
- arg = args.next()
+ arg = next(args)
except:
doError(name+': no argument supplied', True)
else:
@@ -5272,7 +5272,7 @@ def getArgInt(name, args, min, max, main=True):
def getArgFloat(name, args, min, max, main=True):
if main:
try:
- arg = args.next()
+ arg = next(args)
except:
doError(name+': no argument supplied', True)
else:
@@ -5388,7 +5388,7 @@ def runSummary(subdir, local=True, genhtml=False):
outpath = inpath
if local:
outpath = os.path.abspath('.')
- print('Generating a summary of folder "%s"' % inpath)
+ print(('Generating a summary of folder "%s"' % inpath))
if genhtml:
for dirname, dirnames, filenames in os.walk(subdir):
sysvals.dmesgfile = sysvals.ftracefile = sysvals.htmlfile = ''
@@ -5400,9 +5400,9 @@ def runSummary(subdir, local=True, genhtml=False):
sysvals.setOutputFile()
if sysvals.ftracefile and sysvals.htmlfile and \
not os.path.exists(sysvals.htmlfile):
- print('FTRACE: %s' % sysvals.ftracefile)
+ print(('FTRACE: %s' % sysvals.ftracefile))
if sysvals.dmesgfile:
- print('DMESG : %s' % sysvals.dmesgfile)
+ print(('DMESG : %s' % sysvals.dmesgfile))
rerunTest()
testruns = []
for dirname, dirnames, filenames in os.walk(subdir):
@@ -5441,7 +5441,7 @@ def runSummary(subdir, local=True, genhtml=False):
}
testruns.append(data)
outfile = os.path.join(outpath, 'summary.html')
- print('Summary file: %s' % outfile)
+ print(('Summary file: %s' % outfile))
createHTMLSummarySimple(testruns, outfile, inpath)
# Function: checkArgBool
@@ -5459,7 +5459,7 @@ def checkArgBool(name, value):
# Description:
# Configure the script via the info in a config file
def configFromFile(file):
- Config = ConfigParser.ConfigParser()
+ Config = configparser.ConfigParser()
Config.read(file)
sections = Config.sections()
@@ -5661,7 +5661,7 @@ def configFromFile(file):
# print out the help text
def printHelp():
print('')
- print('%s v%s' % (sysvals.title, sysvals.version))
+ print(('%s v%s' % (sysvals.title, sysvals.version)))
print('Usage: sudo sleepgraph <options> <commands>')
print('')
print('Description:')
@@ -5686,7 +5686,7 @@ def printHelp():
print(' -v Print the current tool version')
print(' -config fn Pull arguments and config options from file fn')
print(' -verbose Print extra information during execution and analysis')
- print(' -m mode Mode to initiate for suspend (default: %s)') % (sysvals.suspendmode)
+ print((' -m mode Mode to initiate for suspend (default: %s)') % (sysvals.suspendmode))
print(' -o name Overrides the output subdirectory name when running a new test')
print(' default: suspend-{date}-{time}')
print(' -rtcwake t Wakeup t seconds after suspend, set t to "off" to disable (default: 15)')
@@ -5753,7 +5753,7 @@ if __name__ == '__main__':
for arg in args:
if(arg == '-m'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No mode supplied', True)
if val == 'command' and not sysvals.testcommand:
@@ -5765,7 +5765,7 @@ if __name__ == '__main__':
printHelp()
sys.exit()
elif(arg == '-v'):
- print("Version %s" % sysvals.version)
+ print(("Version %s" % sysvals.version))
sys.exit()
elif(arg == '-x2'):
sysvals.execcount = 2
@@ -5797,7 +5797,7 @@ if __name__ == '__main__':
sysvals.gzip = True
elif(arg == '-rs'):
try:
- val = args.next()
+ val = next(args)
except:
doError('-rs requires "enable" or "disable"', True)
if val.lower() in switchvalues:
@@ -5809,7 +5809,7 @@ if __name__ == '__main__':
doError('invalid option: %s, use "enable/disable" or "on/off"' % val, True)
elif(arg == '-display'):
try:
- val = args.next()
+ val = next(args)
except:
doError('-display requires "on" or "off"', True)
if val.lower() in switchvalues:
@@ -5823,7 +5823,7 @@ if __name__ == '__main__':
sysvals.max_graph_depth = getArgInt('-maxdepth', args, 0, 1000)
elif(arg == '-rtcwake'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No rtcwake time supplied', True)
if val.lower() in switchoff:
@@ -5843,7 +5843,7 @@ if __name__ == '__main__':
sysvals.cgtest = getArgInt('-cgtest', args, 0, 1)
elif(arg == '-cgphase'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No phase name supplied', True)
d = Data(0)
@@ -5853,13 +5853,13 @@ if __name__ == '__main__':
sysvals.cgphase = val
elif(arg == '-cgfilter'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No callgraph functions supplied', True)
sysvals.setCallgraphFilter(val)
elif(arg == '-cgskip'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No file supplied', True)
if val.lower() in switchoff:
@@ -5874,7 +5874,7 @@ if __name__ == '__main__':
sysvals.callloopmaxlen = getArgFloat('-callloop-maxlen', args, 0.0, 1.0)
elif(arg == '-cmd'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No command string supplied', True)
sysvals.testcommand = val
@@ -5889,13 +5889,13 @@ if __name__ == '__main__':
sysvals.multitest['delay'] = getArgInt('-multi n d (delay between tests)', args, 0, 3600)
elif(arg == '-o'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No subdirectory name supplied', True)
sysvals.outdir = sysvals.setOutputFolder(val)
elif(arg == '-config'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No text file supplied', True)
file = sysvals.configFile(val)
@@ -5904,7 +5904,7 @@ if __name__ == '__main__':
configFromFile(file)
elif(arg == '-fadd'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No text file supplied', True)
file = sysvals.configFile(val)
@@ -5913,7 +5913,7 @@ if __name__ == '__main__':
sysvals.addFtraceFilterFunctions(file)
elif(arg == '-dmesg'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No dmesg file supplied', True)
sysvals.notestrun = True
@@ -5922,7 +5922,7 @@ if __name__ == '__main__':
doError('%s does not exist' % sysvals.dmesgfile)
elif(arg == '-ftrace'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No ftrace file supplied', True)
sysvals.notestrun = True
@@ -5931,7 +5931,7 @@ if __name__ == '__main__':
doError('%s does not exist' % sysvals.ftracefile)
elif(arg == '-summary'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No directory supplied', True)
cmd = 'summary'
@@ -5941,13 +5941,13 @@ if __name__ == '__main__':
doError('%s is not accesible' % val)
elif(arg == '-filter'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No devnames supplied', True)
sysvals.setDeviceFilter(val)
elif(arg == '-result'):
try:
- val = args.next()
+ val = next(args)
except:
doError('No result file supplied', True)
sysvals.result = val
@@ -5980,13 +5980,13 @@ if __name__ == '__main__':
elif(cmd == 'fpdt'):
getFPDT(True)
elif(cmd == 'battery'):
- print 'AC Connect: %s\nCharge: %d' % getBattery()
+ print('AC Connect: %s\nCharge: %d' % getBattery())
elif(cmd == 'sysinfo'):
sysvals.printSystemInfo(True)
elif(cmd == 'devinfo'):
deviceInfo()
elif(cmd == 'modes'):
- print getModes()
+ print(getModes())
elif(cmd == 'flist'):
sysvals.getFtraceFilterFunctions(True)
elif(cmd == 'flistall'):
@@ -6036,13 +6036,13 @@ if __name__ == '__main__':
os.mkdir(sysvals.outdir)
for i in range(sysvals.multitest['count']):
if(i != 0):
- print('Waiting %d seconds...' % (sysvals.multitest['delay']))
+ print(('Waiting %d seconds...' % (sysvals.multitest['delay'])))
time.sleep(sysvals.multitest['delay'])
- print('TEST (%d/%d) START' % (i+1, sysvals.multitest['count']))
+ print(('TEST (%d/%d) START' % (i+1, sysvals.multitest['count'])))
fmt = 'suspend-%y%m%d-%H%M%S'
sysvals.testdir = os.path.join(sysvals.outdir, datetime.now().strftime(fmt))
runTest(i+1)
- print('TEST (%d/%d) COMPLETE' % (i+1, sysvals.multitest['count']))
+ print(('TEST (%d/%d) COMPLETE' % (i+1, sysvals.multitest['count'])))
sysvals.logmsg = ''
if not sysvals.skiphtml:
runSummary(sysvals.outdir, False, False)
diff --git a/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py b/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
index 2fa3c57..b1e2abc 100755
--- a/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
+++ b/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
""" This utility can be used to debug and tune the performance of the
@@ -22,7 +22,7 @@ Prerequisites:
see print_help(): for Usage and Output details
"""
-from __future__ import print_function
+
from datetime import datetime
import subprocess
import os
--
1.8.3.1