On Fri, Aug 11, 2017 at 04:26:23PM -0700, Andi Kleen wrote: > From: Andi Kleen <[email protected]> > > 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 <[email protected]>
Acked-by: Jiri Olsa <[email protected]> thanks, jirka

