perf中预定义事件的原始编码

时间:2016-08-31 05:22:27

标签: linux profiling perf

有没有办法找出 perf (Linux分析工具)中预定义事件的原始编码?

例如,我们使用perf stat -e instructions userexecutable来计算指令数。 perf 可以显示事件“指令”的原始编码吗?

2 个答案:

答案 0 :(得分:2)

您可以查看位于/sys/devices/cpu/events/

下的文件

答案 1 :(得分:1)

没有我会注意到。请注意,事件是特定于处理器的。例如,在Power8上,指令由结构(libpfm4 source)引用:

[ POWER8_PME_PM_INST_CMPL ] = {
    .pme_name = "PM_INST_CMPL",
    .pme_code = 0x2,
    .pme_short_desc = "Number of PowerPC Instructions that completed.",
    .pme_long_desc = "PPC Instructions Finished (completed).",
},

可以使用

收集指令计数
perf stat -e r2 userexecutable

对于您的处理器,会有类似的转换,但我不知道任何较少的手动方式。