Re: register_timer_hook use in arch/sh/oprofile

Ingo Molnar
2009-06-24T13:24:56Z

* Paul Mundt <lethal@linux-sh.org> wrote:

> > The main complication that such counters bring is that in their
> > 'own metric' they do interrupt periods in an 'irregular' way
> > (because they interrupt in the nanosec metric - being hrtimers)
> > - but both the tools can deal with uneven periods just fine and
> > the auto-freq code can auto-balance based on this just fine too.
>
> How we have mostly handled these counters in the past have been
> for long-term workload analysis. A given user wants to measure
> certain events across the lifetime of their workload to get an
> idea of where the hot spots are, and then send us numbers later.
> 64-bit hardware counters give them quite a bit of time to
> accumulate results, and in these cases precision is not so
> important as continuous non-interactive monitoring.

Note that if i understand the constraints correctly, SH's counters
will be _exactly_ as precise as x86 counters or PowerPC counters.

Even if SH uses a hrtimer to drive the sampling of them. [*]

The reason is that perfcounters are designed to be 'sampling
frequency/precision invariant'. We deal with
[delta_count,delta_time] pairs in the histograms, etc. and nothing
assumes that periods are static.

[ And long-term analysis ('perf stat' type of runs) dont need IRQs
anyway - perfcounters reads outs the counts and summarizes them
across the measured workload. ]

Furthermore, -F (auto-freq) counters are by design variable-period
and self-adjusting, even on x86 and PowerPC.

[ Btw., we plan to switch over the tools to use a 10 KHz auto-freq
sampling by default - as that gives us meaningful samples all the
time, regardless of how rare the underlying hardware event is. ]

Ingo

[*] The only tradeoff is that you wont have NMI sampling. But if you
have _some_ sort of NMI source in SH (regardless of whether it's
the PMU that drives it), you can still expose that and drive
your perfcounter sampling via that.