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

From: Peter Zijlstra
Date: Wed Oct 21 2015 - 04:09:51 EST


On Wed, Oct 21, 2015 at 12:28:44AM +0200, Andi Kleen wrote:
> > Typically on workstations you do not, because there's only a single
> > user, but on servers it might be more common. The thing I expect to be
> > most common is having both a CPU wide and a per task cycle counter
> > enabled.
>
> With multiple users they would sample only their own processes.
> That works fine. The only thing that needs multiplexing is overlapping
> sampling.

Right, but suppose one user (root) would be sampling machine wide with
PEBS whilst another user is using it just on his one task.

I realize this is unlikely, but I bet there's people out there doing
this and cycles:pp is probably the most useful event by a long way.

> > And you having killed the flag bits for PEBS events precludes people
> > from using this manually, right? I think we want to exempt .inv=1
> > .cmask=16 from that general rule on general utility value.
>
> I don't want to do this for every event. It has caused problems
> in the past. There's also no reason to use the other events.

But it does allow users to play around with alternative encodings for
cycles etc.. We've made use of this in the past when SNB turned out to
have broken the event.

ISTR also having proposed a sysfs flag to reenable the pebs flags for
people who need this. That avoids the things being exposed by default.

> > We could maybe abuse .precise_ip = 3 for this?
>
> I implemented this now, even though it's ugly.

Agreed, its not ideal.
--
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/