Re: [PATCH 4/4] perf/x86/intel: drain PEBS buffer in event read

2017-12-19 Thread Liang, Kan
On 12/19/2017 2:02 PM, Peter Zijlstra wrote: On Mon, Dec 18, 2017 at 03:34:51AM -0800, kan.li...@linux.intel.com wrote: --- a/arch/x86/events/intel/ds.c +++ b/arch/x86/events/intel/ds.c @@ -926,6 +926,16 @@ void intel_pmu_pebs_del(struct perf_event *event) pebs_update_state(needed_cb,

Re: [PATCH 4/4] perf/x86/intel: drain PEBS buffer in event read

2017-12-19 Thread Liang, Kan
On 12/19/2017 2:02 PM, Peter Zijlstra wrote: On Mon, Dec 18, 2017 at 03:34:51AM -0800, kan.li...@linux.intel.com wrote: --- a/arch/x86/events/intel/ds.c +++ b/arch/x86/events/intel/ds.c @@ -926,6 +926,16 @@ void intel_pmu_pebs_del(struct perf_event *event) pebs_update_state(needed_cb,

Re: [PATCH 4/4] perf/x86/intel: drain PEBS buffer in event read

2017-12-19 Thread Peter Zijlstra
On Mon, Dec 18, 2017 at 03:34:51AM -0800, kan.li...@linux.intel.com wrote: > --- a/arch/x86/events/intel/ds.c > +++ b/arch/x86/events/intel/ds.c > @@ -926,6 +926,16 @@ void intel_pmu_pebs_del(struct perf_event *event) > pebs_update_state(needed_cb, cpuc, event->ctx->pmu); > } > > +void

Re: [PATCH 4/4] perf/x86/intel: drain PEBS buffer in event read

2017-12-19 Thread Peter Zijlstra
On Mon, Dec 18, 2017 at 03:34:51AM -0800, kan.li...@linux.intel.com wrote: > --- a/arch/x86/events/intel/ds.c > +++ b/arch/x86/events/intel/ds.c > @@ -926,6 +926,16 @@ void intel_pmu_pebs_del(struct perf_event *event) > pebs_update_state(needed_cb, cpuc, event->ctx->pmu); > } > > +void

[PATCH 4/4] perf/x86/intel: drain PEBS buffer in event read

2017-12-18 Thread kan . liang
From: Kan Liang When the PEBS interrupt threshold is larger than one, there is no way to get exact auto-reload times and value needed for event update unless flush the PEBS buffer. Drain the PEBS buffer in event read when large PEBS is enabled. For the threshold is

[PATCH 4/4] perf/x86/intel: drain PEBS buffer in event read

2017-12-18 Thread kan . liang
From: Kan Liang When the PEBS interrupt threshold is larger than one, there is no way to get exact auto-reload times and value needed for event update unless flush the PEBS buffer. Drain the PEBS buffer in event read when large PEBS is enabled. For the threshold is one, even auto-reload is