如何解决Perf:缓存未命中未映射到 AMD 系列 17h 处理器
我正在尝试使用 Linux 内核 5.4.80 在 AMD
Epyc 处理器上测量一些代码的性能:
# lscpu
Architecture: x86_64
cpu op-mode(s): 32-bit,64-bit
Byte Order: Little Endian
Address sizes: 48 bits physical,48 bits virtual
cpu(s): 128
On-line cpu(s) list: 0-127
Thread(s) per core: 2
Core(s) per socket: 64
Socket(s): 1
NUMA node(s): 1
vendor ID: AuthenticAMD
cpu family: 23
Model: 49
Model name: AMD EPYC 7702P 64-Core Processor
Stepping: 0
Frequency boost: enabled
cpu MHz: 1597.858
cpu max MHz: 2000.0000
cpu min MHz: 1500.0000
BogoMIPS: 3992.43
Virtualization: AMD-V
L1d cache: 2 MiB
L1i cache: 2 MiB
L2 cache: 32 MiB
L3 cache: 256 MiB
...
#
事实证明,某些事件并未直接映射到硬件事件,而是 mapped to generic hardware events。
例如,当我运行 perf stat -e cache-misses ...
时,它会报告什么?我对这些报告值的信任程度如何?它们实际上代表什么?
就我而言,我最好使用原始计数器值而不是依赖 perf
名称吗?
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。