问题标签 [libpfm4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
164 浏览

x86 - 使用 libpfm4 确定事件映射的固定计数器

我正在使用libpfm4来确定 Intel 性能监视器计数器编码(例如,在人类可读的名称和编码之间进行映射)。

英特尔 PMU 有许多可以启用或禁用的“固定计数器”,但启用时始终计数相同的事件。libpfc 公开了固定计数器的数量pfm_pmu_info_t.num_fixed_cntrs,但是我如何确定这些固定计数器映射的事件呢?

固定计数器涵盖的事件列在事件列表中,但它是通用编码,因此您必须浪费通用计数器以这种方式对其进行编程。

对于Intel来说,最近0个芯片上一般都有3个固定计数器:

详见第 18-2 卷的表 18-2。英特尔 SDM 1的图 3B 。


0特别是至少支持架构 PMU 版本 2 的任何东西,即Intel Core 2 Duo 处理器 T7700 和基于 Intel Core 微架构的更新处理器

1表为表 18-2。固定功能性能计数器与架构性能事件的关联, 2016 年 12 月版。