Re: [PATCH v2 08/19] perf, tools: Expression parser enhancements for metrics

From: Arnaldo Carvalho de Melo
Date: Tue Aug 22 2017 - 11:16:51 EST


Em Tue, Aug 22, 2017 at 10:45:18AM +0200, Jiri Olsa escreveu:
> On Fri, Aug 11, 2017 at 04:26:23PM -0700, Andi Kleen wrote:
> > From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> >
> > Enhance the expression parser for more complex metric formulas.
> >
> > - Support python style IF ELSE operators
> > - Add an #SMT_On magic variable for formulas that depend on the SMT
> > status.
> >
> > Example: 4 *( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles
> >
> > - Support MIN/MAX operations
> >
> > Example: min(1 , IDQ.MITE_UOPS / ( UPI * 16 * ( ICACHE.HIT + ICACHE.MISSES ) / 4.0 ) )
> >
> > This is useful to fix up problems caused by multiplexing.
> >
> > - Support | & ^ operators
> > - Minor cleanups and fixes
> > - Support an \ escape for operators. This allows to specify event names
> > like c2-residency
> > - Support @ as an alternative for / to be able to specify pmus without
> > conflicts with operators (like msr/tsc/ as msr@tsc@)
> >
> > Example: (cstate_core@c3\\-residency@ / msr@tsc@) * 100
> >
> > Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

Thanks, applied.

- Arnaldo