- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一些内置的 perf
事件被映射到 offcore 事件。例如,LLC-loads
和 LLC-load-misses
映射到 OFFCORE_RESPONSE.
事件。正如 here 中所讨论的,这可以很容易地确定。 .然而,这些核外事件需要将特定值写入特定 MSR 寄存器以实际指定特定事件。 perf
似乎正在使用一个名为 snb_hw_cache_extra_regs 的数组指定要写入哪些 MSR 寄存器的值。我想知道这个数组是如何使用的。基本上我想知道如何通过查看源代码来确定 perf
事件映射到的特定 offcore 事件。
最佳答案
存储了 offcore PM MSR 的数组 here对于 SnB,其他架构接近。
宏 INTEL_UEVENT_EXTRA_REG
是 here它只是将 msr
设置为第二个参数,将 config_mask
设置为 0x000000FFULL
并将 valid_mask
设置为第三个参数(第一个是对关联的普通 PMR 进行编程的事件)。
snb_hw_cache_extra_regs
的值就是将要写入所选 PM MSR1 的值。
查找此数组 here并使用 here选择第一个 PM MSR 匹配,其中 config
arg 来自数组 hw_cache_event_ids
.
所以它基本上是一个循环测试几个位掩码,直到找到兼容的 PM MSR,我认为您可以跳过它并查看存储在 snb_hw_cache_extra_regs
数组中的值。
1由于为使 snb_hw_cache_extra_regs
中的值而定义的宏从未在源代码中重复使用,并且这些值直接映射到 Intel 手册中记录的 MSR 布局,因此我没有费心验证此声明。
关于linux-kernel - perf 如何使用 offcore 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54223074/
一些内置的 perf 事件被映射到 offcore 事件。例如,LLC-loads 和 LLC-load-misses 映射到 OFFCORE_RESPONSE. 事件。正如 here 中所讨论的,这
我是一名优秀的程序员,十分优秀!