MSR跟踪事件

x86内核支持跟踪大多数MSR(Model Specific Register,模型特定寄存器)访问。 要查看Intel系统上MSR的定义,请访问SDM https://www.intel.com/sdm(卷3)

可用跟踪点

/sys/kernel/tracing/events/msr/

跟踪MSR读取

read_msr

  • msr: MSR 编号

  • val: 写入的值

  • failed: 如果访问失败则为 1,否则为 0

跟踪MSR写入

write_msr

  • msr: MSR 编号

  • val: 写入的值

  • failed: 如果访问失败则为 1,否则为 0

跟踪内核中的RDPMC

rdpmc

可以使用postprocess/decode_msr.py脚本对跟踪数据进行后处理

cat /sys/kernel/tracing/trace | decode_msr.py /usr/src/linux/include/asm/msr-index.h

以添加符号化的MSR名称。