[PATCH 4/4] Add trace decoding script to add MSR names to MSR trace

From: Andi Kleen
Date: Fri Oct 10 2014 - 17:48:30 EST


From: Andi Kleen <ak@xxxxxxxxxxxxxxx>

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@xxxxxxxxxxxxxxx>
---
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/