On Mon, Jun 30, 2014 at 04:50:40PM +0800, Yan, Zheng wrote: > @@ -185,6 +185,23 @@ void intel_pmu_lbr_enable(struct perf_event *event) > return; > > /* > + * It is necessary to flush the stack on context switch. This happens > + * when the branch stack does not tag its entries with the pid of the > + * current task. Did you mean to say: "This happens _because_ the branch stack does not tag its entries with the pid of the current task." ? > + */ > + if (sched_in) { > + intel_pmu_lbr_reset(); > + cpuc->lbr_context = ctx; > + } > +}