Re: [tip:perf/core] perf/x86/intel: Disable userspace RDPMC usage for large PEBS

From: Liang, Kan
Date: Mon Mar 12 2018 - 10:08:18 EST




On 3/9/2018 2:10 PM, Vince Weaver wrote:
On Fri, 9 Mar 2018, Peter Zijlstra wrote:

On Fri, Mar 09, 2018 at 09:31:11AM -0500, Vince Weaver wrote:
On Fri, 9 Mar 2018, tip-bot for Kan Liang wrote:

Commit-ID: 1af22eba248efe2de25658041a80a3d40fb3e92e
Gitweb: https://git.kernel.org/tip/1af22eba248efe2de25658041a80a3d40fb3e92e
Author: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
AuthorDate: Mon, 12 Feb 2018 14:20:35 -0800
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Fri, 9 Mar 2018 08:22:23 +0100

perf/x86/intel: Disable userspace RDPMC usage for large PEBS



So this whole commit log is about disabling RDPMC usage for "large PEBS"
but the actual change disables RDPMC if "PERF_X86_EVENT_FREERUNNING"

Either the commit log is really misleading, or else a poor name was chosen
for this feature.

Its the same thing, and yes that might want renaming I suppose.

I apologize for noticing these things so late in the game, but I haven't
had time to keep up with a full lkml feed recently so I only see these
things once I'm CC'd on them.

So to summarize this: rdpmc is only disabled on a per-event basis, and
only if that event is doing multi-pebs sampling?


If the event can do multi-pebs sampling, the rdpmc will be disabled. Other events which cannot do multi-pebs will not be impacted.

To enable multi-pebs sampling for event, it requires a fixed period.
It doesn't support callgraph. For older platform (before SKL), it doesn't support time stamp.

Thanks,
Kan

If that's true, then I don't think I have an issue with this.

We finally got rdpmc support in a released PAPI, and it is a massive
improvement when self-monitoring (even moreso if KPTI is enabled) so I was
just trying to make sure this wouldn't suddenly disable rdpmc out from
under us.

Vince