Linux 应最大化哪种类型的POWER8 PMU事件?

Linux 应最大化哪种类型的POWER8 PMU事件?,linux,perf,oprofile,Linux,Perf,Oprofile,我对运行在IBMPOWER8服务器上的应用程序执行以下性能分析 我知道我需要减少由缓存未命中(PM\u CMPLU\u STALL\u DCACHE\u MISS)或分支预测失误(PM\u CMPLU\u STALL\u BRU)等原因造成的暂停百分比。说明编写良好的应用程序具有较高的最终指令完成百分比(PM\u 1PLUS\u PPC\u CMPL) 我是否正确理解,对于POWER8,我需要最大化PM\u GRP\u CMPL指标的百分比?我还应该尝试最大化其他基于PMU的指标吗?指出显而易见

我对运行在IBMPOWER8服务器上的应用程序执行以下性能分析

我知道我需要减少由缓存未命中(
PM\u CMPLU\u STALL\u DCACHE\u MISS
)或分支预测失误(
PM\u CMPLU\u STALL\u BRU
)等原因造成的暂停百分比。说明编写良好的应用程序具有较高的最终指令完成百分比(
PM\u 1PLUS\u PPC\u CMPL


我是否正确理解,对于POWER8,我需要最大化
PM\u GRP\u CMPL
指标的百分比?我还应该尝试最大化其他基于PMU的指标吗?

指出显而易见的一点:您需要优化您的源代码 要最大限度地减少软件任务完成所需的周期数,请执行以下操作:

您提供的参考将
PM\u RUN\u CYC
分解为
PM\u CMPLU\u STALL
+
PM\u GCT\u NOSLOT\u CYC
+
PM\u GRP\u CMPL

您希望减少三个组件中最大的贡献者。最小化暂停,例如通过重新组织代码来减少缓存未命中。“无插槽”周期与分支预测失误和指令缓存未命中有关

PM\u GRP\u CMPL
是“微码指令” 跨越多个组的事件将在每个组中生成一次此事件”。不清楚这说明了什么。在任何情况下,您都希望最小化而不是最大化这些计数