Re: [PATCH/RFC] perfcounters: record time running and time enabledfor each counter

From: Peter Zijlstra
Date: Fri Mar 20 2009 - 10:50:58 EST


On Fri, 2009-03-20 at 23:07 +1100, Paul Mackerras wrote:
> Impact: new functionality
>
> Currently, if there are more counters enabled than can fit on the CPU,
> the kernel will multiplex the counters on to the hardware using
> round-robin scheduling. That isn't too bad for sampling counters, but
> for counting counters it means that the value read from a counter
> represents some unknown fraction of the true count of events that
> occurred while the counter was enabled.
>
> This remedies the situation by keeping track of how long each counter
> is enabled for, and how long it is actually on the cpu and counting
> events. These times are recorded in nanoseconds using the task clock
> for per-task counters and the cpu clock for per-cpu counters.

Can't we do this by simply adding some software counters? A task local
to each group and a task local on its own.

Since the solo task local will always be scheduled, you can get the
sampling fraction by comparing the group task local one to the solo one.



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