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

From: Corey Ashford
Date: Tue Mar 30 2010 - 20:33:53 EST


On 3/30/2010 2:28 PM, stephane eranian wrote:
On Tue, Mar 30, 2010 at 6:49 PM, Corey Ashford
<cjashfor@xxxxxxxxxxxxxxxxxx> wrote:
4) How do we choose a CPU to do the housekeeping work for a particular nest
PMU. Peter thought that user space should still specify the it via
open_perf_event() cpu parameter, but there's also an argument to be made for
the kernel choosing the best CPU to handle the job, or at least make it
optional for the user to choose the CPU.

One of the housekeeping task is to handle uncore PMU interrupts, for instance.
That is not a trivial task given that events are managed independently and
that you could be monitoring per-thread or system-wide. It may be that
some uncore PMU can only interrupt one core. Intel Nehalem can interrupt
many at once.

That's a good point, and I think it's unreasonable to expect that the user knows exactly how the interrupts are connected from the uncore/nest PMU to which CPU(s).

Perhaps one way around this would be to return an error if the chosen CPU wasn't fully capable of performing the housekeeping functions for the requested PMU. But this certainly isn't ideal, because relying on this mechanism would require that the user (or user tool) figure out which CPU is fully capable by trial-and-error.

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