在 K3/X100 平台进行 perf 性能分析时,发现前端和后端 stall 事件的变化方向与负载特征明显不符:
- 大量随机内存访问和 L1D cache miss 主要计入
stalled-cycles-frontend - 间接跳转/控制流压力主要计入
stalled-cycles-backend - 现象与 Linux perf 对两个通用事件的标准语义相反,疑似底层事件映射对调
perf 中事件编码为:
stalled-cycles-frontend:
type = PERF_TYPE_HARDWARE
config = 0x7 (PERF_COUNT_HW_STALLED_CYCLES_FRONTEND)
stalled-cycles-backend:
type = PERF_TYPE_HARDWARE
config = 0x8 (PERF_COUNT_HW_STALLED_CYCLES_BACKEND)
麻烦请帮忙确认pmu事件是否准确