【问题标题】:definition of linux perf cache-misses event?linux perf cache-misses 事件的定义?
【发布时间】:2020-05-17 11:35:47
【问题描述】:

我正在尝试使用 linux perf 来分析缓存性能。

性能列表显示存在缓存未命中事件。但是,这个“缓存未命中”事件的定义是什么?

它是 L1D/L1i 缓存、L2 缓存还是 L3 缓存之一?

谢谢!

【问题讨论】:

  • 这个 perf 事件对 cpu 模型有不同的映射。你的 cpu 是什么,是 intel 还是 amd,具体的 cpu 型号是什么?

标签: linux profiling cpu performancecounter perf


【解决方案1】:

cache-misses 事件对应于最后一级缓存 (LLC) 中的未命中。请注意,这是一个架构性能监控事件,应该在微架构中表现一致。

这可以从源码中验证——cache-misses

十六进制0x412e的前2位表示umask(41),后2位表示event-select (2e)。

来自英特尔软件开发人员手册(查看性能监控章节)

Last Level Cache Misses - 事件选择 2EH,Umask 41H

“此事件计算对最后一级片上缓存的引用的每个缓存未命中条件。事件计数可能包括由于一级缓存硬件预取器而导致的推测和缓存行填充,但可能不包括由于以下原因导致的缓存行填充其他硬件预取器。”

【讨论】:

  • 当有 4 核或 8 核共享 L3 缓存时(每个核都有自己的 L1 和 L2),LLC 是 L3 还是 L2 未命中?
猜你喜欢
  • 1970-01-01
  • 2022-01-22
  • 2023-03-28
  • 1970-01-01
  • 2020-11-24
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
相关资源
最近更新 更多