Re: [RFC] [PATCH 1/1] perf: add support for arch-dependent symbolicevent names to "perf stat"

From: Corey Ashford
Date: Fri Mar 12 2010 - 01:54:07 EST


On 03/11/2010 06:41 PM, Paul Mackerras wrote:
On Thu, Mar 11, 2010 at 01:46:08PM +0100, Ingo Molnar wrote:

* Corey Ashford<cjashfor@xxxxxxxxxxxxxxxxxx> wrote:

On 3/3/2010 6:30 PM, Corey Ashford wrote:
For your review, this patch adds support for arch-dependent symbolic
event names to the "perf stat" tool, and could be expanded to other
"perf *" commands fairly easily, I suspect.

I'm quite much against stop-gap measures like this - they tend to become
tomorrow's impossible-to-remove quirk.

If you want extensible events you can already do it by providing an ftrace
tracepoint event via TRACE_EVENT. They are easy to add and ad-hoc, and are
supported throughout by perf.

If I've understood correctly what Corey is doing, I think you're
missing the point. The idea, I thought, was to provide a way to be
able to use symbolic names for raw hardware events rather than just
numbers.

Yes, that's what I meant.

> I don't see how ftrace tracepoint events are relevant to
> that.

Now as to whether an external .so is the best way to provide the
processor-specific mapping of names to raw events, I'm not sure.
If the kernel can provide that mapping via procfs, sysfs or eventfs,
that would be an alternative, but it does mean the kernel has those
tables in unswappable memory (and potentially the tables for all the
processors that the kernel supports), which seems unnecessary. Or
they can just be added to the perf source code.

In addition to the names and attributes, we'd also need text-based descriptions of the events and attributes.

I'm not opposed to the idea of placing them in sysfs (or other pseudo fs), but it's also not clear to me how to represent the event data in a clean, extensible, and space/performance efficient way. That said, I do like the idea of being able to navigate events by looking through a directory structure which is possibly organized by the physical topology of the system and its PMUs.

- Corey


--
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/