Re: [PATCH] x86, perf: Use INST_RETIRED.PREC_DIST for cycles:pp on Skylake

From: Peter Zijlstra
Date: Wed Oct 21 2015 - 14:57:28 EST


On Wed, Oct 21, 2015 at 06:55:42PM +0200, Andi Kleen wrote:
> On Wed, Oct 21, 2015 at 06:52:52PM +0200, Peter Zijlstra wrote:
> > On Wed, Oct 21, 2015 at 08:26:08AM -0700, Andi Kleen wrote:
> > > So it turns out that UOPS_RETIRED.ALL+pebs only works by accident
> > > on Skylake. It's not in the specification.
> >
> > Accident or not, it works and you've tested it. Might as well keep it.
> > Specs can be updated.
>
> No, it's better not to use it.

This is really rather unfortunate; what is the failure mode?

> > Also, even with the SNB 'hickup' they still haven't got the memo that
> > cycles is important for PEBS ?
>
> INST_RETIRED.PREC_DIST is a far better cycles than UOPS_RETIRED.ALL
> (see my earlier example)

If you only want the one counter, yes.

And since you made me look at the SDM; it looks like our skl pebs table
isn't anything like the table there. Also, do the events BR_INST_RETIRED
have a composable umask? That is, .event=0xc4, .umask=41 is valid and
would be 'conditional far branches'.

The same would be true for the HSW/BDW table I suppose, the memops
retired stuff looks composable but we currently do not allow that.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/