diff options
| author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-02 16:41:56 +0300 | 
|---|---|---|
| committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-02 16:41:56 +0300 | 
| commit | 29c798fecb9b846b363b0a02fa662ff42fc19426 (patch) | |
| tree | e708d6aca8f098e69571780f702325b221b66694 /tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py | |
| parent | cb9906229595941d632fc4022b05da4f9533856a (diff) | |
| parent | c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4 (diff) | |
| download | linux-29c798fecb9b846b363b0a02fa662ff42fc19426.tar.xz | |
Merge commit 'v2.6.37-rc1' into for-2.6.37
Diffstat (limited to 'tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py')
| -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  | 
