Re: [PATCH V2 4/4] perf/x86: fix: disable userspace RDPMC usage for large PEBS

From: Liang, Kan
Date: Wed Dec 20 2017 - 17:05:37 EST




On 12/20/2017 4:41 PM, Andi Kleen wrote:
On Wed, Dec 20, 2017 at 11:42:51AM -0800, kan.liang@xxxxxxxxxxxxxxx wrote:
From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

The userspace RDPMC usage never works for large PEBS since the large
PEBS is introduced by
commit b8241d20699e ("perf/x86/intel: Implement batched PEBS interrupt
handling (large PEBS interrupt threshold)")

When the PEBS interrupt threshold is larger than one, there is no way to
get exact auto-reload times and value for userspace RDPMC.

Disable the userspace RDPMC usage when large PEBS is enabled.

The only drawback is that the event wraps quickly.

It's broken. The value read from RDPMC command will always between -reload_val and 0. Without reload times, I think it's impossible to calculate the total count number.

I suspect in many
cases it's still usable for measuring short regions.


Unless the short region is less than reload_val.
Otherwise, reload times is needed.

Thanks,
Kan

I wouldn't force disable it, just let the users deal with it.

-Andi