On Wed, Jan 31, 2018 at 10:15:39AM +0100, Jiri Olsa wrote:
> On Tue, Jan 30, 2018 at 07:59:41PM -0800, Andi Kleen wrote:
> > > Still, the part I am missing here, is why asking for
> > > PERF_SAMPLE_PERIOD voids large PEBS.
> > 
> > I think it was disabled together with frequency mode
> > (which we could support too, but it's a bit more work)
> > 
> > But yes PERIOD could probably be allowed.
> 
> looks like it's just a matter of adding PERF_SAMPLE_PERIOD
> into PEBS_FREERUNNING_FLAGS, we already populate period
> in setup_pebs_sample_data
> 
> jirka
> 
> 
> ---
> diff --git a/arch/x86/events/perf_event.h b/arch/x86/events/perf_event.h
> index 8e4ea143ed96..78f91ec1056e 100644
> --- a/arch/x86/events/perf_event.h
> +++ b/arch/x86/events/perf_event.h
> @@ -93,7 +93,8 @@ struct amd_nb {
>       PERF_SAMPLE_ID | PERF_SAMPLE_CPU | PERF_SAMPLE_STREAM_ID | \
>       PERF_SAMPLE_DATA_SRC | PERF_SAMPLE_IDENTIFIER | \
>       PERF_SAMPLE_TRANSACTION | PERF_SAMPLE_PHYS_ADDR | \
> -     PERF_SAMPLE_REGS_INTR | PERF_SAMPLE_REGS_USER)
> +     PERF_SAMPLE_REGS_INTR | PERF_SAMPLE_REGS_USER | \
> +     PERF_SAMPLE_PERIOD)

seems to work, getting large PEBS event for following command line:

  perf record -e cycles:P -c 100 --no-timestamp -C 0 --period


jirka

Reply via email to