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

From: Jiri Olsa
Date: Wed Jan 31 2018 - 10:41:43 EST


On Wed, Jan 31, 2018 at 10:15:33AM -0500, Liang, Kan wrote:
>
>
> On 1/31/2018 8:15 AM, Jiri Olsa wrote:
> > 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
> >
> >
>
> Yes, I tried the patch. The large PEBS can be enabled with the PERIOD flag.
> Everything looks good.
>
> Jirka, could you please post the patch as well?

yes, will post that one as well

jirka