[PATCH v2 2/2] perf tools: Make Power7 events available for perf
Vince Weaver
vincent.weaver at maine.edu
Wed Jul 10 01:20:50 EST 2013
On Tue, 9 Jul 2013, Michael Ellerman wrote:
> On Mon, Jul 08, 2013 at 10:24:34PM -0400, Vince Weaver wrote:
> > why is it a hack to use cpuid?
>
> Because you're assuming that the PMU the kernel has exposed is for the
> cpu you happen to be executing on.
>
> But the real issue is with PMUs that are not in the CPU - there is no
> easy way for userspace to detect them and determine which event list it
> should be consulting.
what kind of devices are you talking about? If they have
kernel/perf_event support then they'd be putting a directory entry
with a unique name into /sys/bus/event_source/devices/, right?
> This whole thread is about making the event list not the kernel's job?
Yes. This has been debated forever here; I'm firmly in the "event lists
should be entirely in userspace" camp but that's not the majority
position.
Hopefully everyone agrees though that including 100k+ of event lists in
the kernel is a bit silly, especially as only a subset of people would ever
use them.
There's the other issue that event lists are known to change due to bugs
and whatnot (Intel likes to change things up every few months and silently
change the event lists in their documentation). It's a lot easier
patching and distributing a new user-space event library [hours to days]
then trying to get event list changes into the kernel, backported to
stable, and then out into vendor kernels, and then on updated machines
[weeks to never].
> The part that _is_ the kernels job is detecting the hardware and
> providing an API to access it. What I'm saying is that the kernel API
> should include some sort of identifier so that userspace can reliably
> determine the event list to use.
I'm just curious if you have a specific piece of hardware in mind that
won't fit the current model or if this is a theoretical concern.
Vince
More information about the Linuxppc-dev
mailing list