[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 10 Oct 2014 14:47:53 -0700
From: Andi Kleen <andi@...stfloor.org>
To: linux-kernel@...r.kernel.org
Cc: x86@...nel.org, rostedt@...dmis.org,
Andi Kleen <ak@...ux.intel.com>
Subject: [PATCH 4/4] Add trace decoding script to add MSR names to MSR trace
From: Andi Kleen <ak@...ux.intel.com>
Add the MSR names from msr-index.h to a trace including read/write_msr
events. This makes the output much easier to read.
Signed-off-by: Andi Kleen <ak@...ux.intel.com>
---
Documentation/trace/postprocess/decode_msr.py | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100755 Documentation/trace/postprocess/decode_msr.py
diff --git a/Documentation/trace/postprocess/decode_msr.py b/Documentation/trace/postprocess/decode_msr.py
new file mode 100755
index 0000000..e3aa832
--- /dev/null
+++ b/Documentation/trace/postprocess/decode_msr.py
@@ -0,0 +1,22 @@
+#!/usr/bin/python
+# add symbolic names to read_msr / write_msr events in trace
+# decode_msr $kernel/arch/x86/include/uapi/asm/msr-index.h < trace
+
+import sys
+import re
+
+msrs = dict()
+
+with open(sys.argv[1], "r") as f:
+ for j in f:
+ m = re.match(r'#define (MSR_\w+)\s+(0x[0-9a-fA-F]+)', j)
+ if m:
+ msrs[int(m.group(2), 16)] = m.group(1)
+
+for j in sys.stdin:
+ m = re.search(r'(read|write)_msr: ([0-9a-f]+)', j)
+ if m and int(m.group(2), 16) in msrs:
+ j = j.replace(" " + m.group(2), " " + msrs[int(m.group(2), 16)])
+ print j,
+
+
--
1.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists