当我运行perf list
命令时,我看到了一堆硬件缓存事件,如下所示:
Translated:
当我运行perf list
命令时,我看到了一堆硬件缓存事件,如下所示:
$ perf list | grep 'cache event'
L1-dcache-load-misses [Hardware cache event]
L1-dcache-loads [Hardware cache event]
L1-dcache-stores [Hardware cache event]
L1-icache-load-misses [Hardware cache event]
LLC-load-misses [Hardware cache event]
LLC-loads [Hardware cache event]
LLC-store-misses [Hardware cache event]
LLC-stores [Hardware cache event]
branch-load-misses [Hardware cache event]
branch-loads [Hardware cache event]
dTLB-load-misses [Hardware cache event]
dTLB-loads [Hardware cache event]
dTLB-store-misses [Hardware cache event]
dTLB-stores [Hardware cache event]
iTLB-load-misses [Hardware cache event]
iTLB-loads [Hardware cache event]
node-load-misses [Hardware cache event]
node-loads [Hardware cache event]
node-store-misses [Hardware cache event]
node-stores [Hardware cache event]
这些事件根据测试似乎大多返回合理的值,但我想知道如何确定将这些事件映射到我的系统上的硬件性能计数器事件?
也就是说,这些事件肯定是使用Skylake CPU上一个或多个底层x86 PMU计数器实现的 - 但我怎么知道是哪些计数器?
您可以查看/sys/devices/cpu/events
以获取其他硬件事件,但无法查看“硬件缓存事件”。