Re: [PATCH V7 07/14] perf/core: Add a new PERF_EV_CAP_COEXIST event capability

From: Peter Zijlstra
Date: Fri Jul 24 2020 - 10:59:42 EST


On Fri, Jul 24, 2020 at 07:46:32AM -0700, Andi Kleen wrote:
> > Something that seems to 'work' is:
> > '{cycles,cpu/instructions,period=50000/}', so maybe you can make the
> > group modifier :S use any sampling event if there is one, and otherwise
> > designate the leader.
> >
> > Then you can write things like:
> >
> > '{slots, metric1, metric2, cpu/cycles,freq=50000/}:S'
> >
> > and then since cycles is specified as a sampling event, it will use
> > that.
>
> Okay possible, but it makes things more complicated
> for the user to understand and requires special documentation.
> Hopefully it's worth it the internal simplification.

You already require special documentation for this metrics stuff. We
already need to state that SLOTS cannot be a sampling event, so you
already need to pay attention to this anyway.

A shortcut could be a :s event modifier, then you can write:

'{slots, metric1, metric2, cycles:s}:S'

and have the tool select the :s tagged one.