Messages in this thread | | | Date | Wed, 24 Jun 2009 15:24:47 +0200 | From | Ingo Molnar <> | Subject | Re: register_timer_hook use in arch/sh/oprofile |
| |
* 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.
| |