Re: [PATCH V3 0/5] bugs fix for large PEBS mmap read and rdpmc read

From: Jiri Olsa
Date: Wed Jan 31 2018 - 08:15:13 EST


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