Re: [RFC] perf_events: support for uncore a.k.a. nest units

From: Ingo Molnar
Date: Thu Jan 21 2010 - 02:21:59 EST



* Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> wrote:

> I really think we need some sort of data structure which is passed from the
> kernel to user space to represent the topology of the system, and give
> useful information to be able to identify each PMU node. Whether this is
> done with a sysfs-style tree, a table in a file, XML, etc... it doesn't
> really matter much, but it needs to be something that can be parsed
> relatively easily and *contains just enough information* for the user to be
> able to correctly choose PMUs, and for the kernel to be able to relate that
> back to actual PMU hardware.

The right way would be to extend the current event description under
/debug/tracing/events with hardware descriptors and (maybe) to formalise this
into a separate /proc/events/ or into a separate filesystem.

The advantage of this is that in the grand scheme of things we _really_ dont
want to limit performance events to 'hardware' hierarchies, or to
devices/sysfs, some existing /proc scheme, or any other arbitrary (and
fundamentally limiting) object enumeration.

We want a unified, logical enumeration of all events and objects that we care
about from a performance monitoring and analysis point of view, shaped for the
purpose of and parsed by perf user-space. And since the current event
descriptors are already rather rich as they enumerate all sorts of things:

- tracepoints
- hw-breakpoints
- dynamic probes

etc., and are well used by tooling we should expand those with real hardware
structure.

Thanks,

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