diff options
Diffstat (limited to 'tools/perf/scripts/python/Perf-Trace-Util/lib/Perf')
| -rw-r--r-- | tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py | 58 | 
1 files changed, 58 insertions, 0 deletions
| diff --git a/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py b/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py index 9689bc0acd9f..13cc02b5893a 100644 --- a/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py +++ b/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py @@ -6,6 +6,14 @@  # Public License ("GPL") version 2 as published by the Free Software  # Foundation. +import errno, os + +FUTEX_WAIT = 0 +FUTEX_WAKE = 1 +FUTEX_PRIVATE_FLAG = 128 +FUTEX_CLOCK_REALTIME = 256 +FUTEX_CMD_MASK = ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME) +  NSECS_PER_SEC    = 1000000000  def avg(total, n): @@ -24,5 +32,55 @@ def nsecs_str(nsecs):      str = "%5u.%09u" % (nsecs_secs(nsecs), nsecs_nsecs(nsecs)),      return str +def add_stats(dict, key, value): +	if not dict.has_key(key): +		dict[key] = (value, value, value, 1) +	else: +		min, max, avg, count = dict[key] +		if value < min: +			min = value +		if value > max: +			max = value +		avg = (avg + value) / 2 +		dict[key] = (min, max, avg, count + 1) +  def clear_term():      print("\x1b[H\x1b[2J") + +audit_package_warned = False + +try: +	import audit +	machine_to_id = { +		'x86_64': audit.MACH_86_64, +		'alpha'	: audit.MACH_ALPHA, +		'ia64'	: audit.MACH_IA64, +		'ppc'	: audit.MACH_PPC, +		'ppc64'	: audit.MACH_PPC64, +		's390'	: audit.MACH_S390, +		's390x'	: audit.MACH_S390X, +		'i386'	: audit.MACH_X86, +		'i586'	: audit.MACH_X86, +		'i686'	: audit.MACH_X86, +	} +	try: +		machine_to_id['armeb'] = audit.MACH_ARMEB +	except: +		pass +	machine_id = machine_to_id[os.uname()[4]] +except: +	if not audit_package_warned: +		audit_package_warned = True +		print "Install the audit-libs-python package to get syscall names" + +def syscall_name(id): +	try: +		return audit.audit_syscall_to_name(id, machine_id) +	except: +		return str(id) + +def strerror(nr): +	try: +		return errno.errorcode[abs(nr)] +	except: +		return "Unknown %d errno" % nr |