MSR 跟踪事件

x86 内核支持跟踪大多数 MSR(模型特定寄存器)访问。 要查看 Intel 系统上 MSR 的定义,请参阅 https://www.intel.com/sdm 上的 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 名称。