Re: perf group read for inherited events

From: Vince Weaver
Date: Tue May 30 2017 - 15:04:41 EST


On Tue, 30 May 2017, Peter Zijlstra wrote:

> On Tue, May 30, 2017 at 06:57:14AM -0700, Andi Kleen wrote:
> > On Tue, May 30, 2017 at 11:45:12AM +0200, Peter Zijlstra wrote:
> > > > Or is the simple patch below good enough?
> > >
> > > The below seems to be the correct thing. It is rather unfortunate that
> > > this would break/significantly change existing semantics :/
> >
> > The "existing semantics" as in ignoring the PERF_SAMPLE_READ in sample_type,
> > even though it wasn't implemented? It seems reasonable to me.
>
> Right, so where we used to accept PERF_SAMPLE_READ on inherited events,
> we now no longer will.
>
> Note that it currently doesn't work right, even if it doesn't fail like
> with the proposed patch.
>
> Typically Vince will (rightly) complain when I change things like this.
> But seeing how even if we accept it, it is fairly terminally buggered in
> any case, we could change it.
>
> Vince, do you know of anybody that would be immediately affected by
> this?

I often only hear about breakage months later after it's too late.

So the issue is currently if you were sampling, and you were sampling on
an event group, and you had set PERF_SAMPLE_READ to get all counts for a
group, and the event was also inherited.... perf_event_open() would let
you do this even though the results would probably be wrong?

I'm not aware of anyone trying to do this, or at least I should say PAPI
isn't trying to do this (PAPI currently has pretty simplistic sampling
support, though that's getting a major overhaul this summer).

Vince