On 10/22/2012 06:33 PM, Peter Zijlstra wrote: > On Mon, 2012-10-22 at 14:11 +0800, Yan, Zheng wrote: >> + /* LBR callstack does not work well with FREEZE_LBRS_ON_PMI */ >> + if (!cpuc->lbr_sel || !(cpuc->lbr_sel->config & LBR_CALL_STACK)) >> + debugctl |= DEBUGCTLMSR_FREEZE_LBRS_ON_PMI; > > How useful it is without this? How many calls between PMI and us getting > to intel_pmu_lbr_read()? >
So far we use the call stack feature only for ring 3. but even for ring 0, it's OK. because LBR is disabled at the very beginning of PMI hander, and enabled when exiting the PMI hander. the depth to _intel_pmu_lbr_enable/ _intel_pmu_lbr_disable are the same. So entries that are added by calling _intel_pmu_lbr_disable will be popped during enabling LBR. Regards Yan, Zheng -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/