Re: [RFC v7 00/23] adapt clockevents frequencies to mono clock

From: Thomas Gleixner
Date: Thu Sep 22 2016 - 17:42:20 EST


On Wed, 21 Sep 2016, Nicolai Stange wrote:
> Thomas Gleixner <tglx@xxxxxxxxxxxxx> writes:
>
> > On Wed, 21 Sep 2016, Nicolai Stange wrote:
> >> Thomas Gleixner <tglx@xxxxxxxxxxxxx> writes:
> >> > Have you ever measured the overhead of the extra work which has to be done
> >> > in clockevents_adjust_all_freqs() ?
> >>
> >> Not exactly, I had a look at its invocation frequency which seems to
> >> decay exponentially with uptime, presumably because the NTP error
> >> approaches zero.
> >>
> >> However, I've just gathered a function_graph ftrace on my Intel
> >> i7-4800MQ (Haswell, 8HTs):
> >>
> >> # TIME CPU DURATION FUNCTION CALLS
> >> # | | | | | | | |
> >> 85.287027 | 0) 0.899 us | clockevents_adjust_all_freqs();
> >> 85.288026 | 0) 0.759 us | clockevents_adjust_all_freqs();
> >> 85.289026 | 0) 0.735 us | clockevents_adjust_all_freqs();
> >> 85.290026 | 0) 0.671 us | clockevents_adjust_all_freqs();
> >> 149.503656 | 2) 2.477 us | clockevents_adjust_all_freqs();
> >
> > That's not that bad. Though I'd like to see numbers for ARM (especially the
> > less powerful SoCs) as well.
>
> On a Raspberry Pi 2B (bcm2836, ARMv7) with CONFIG_SMP=y, the mean over
> ~5300 samples is 5.14+/-1.04us with a max of 11.15us.

So why is the variance that high? You have an outlier on that intel as well
which might be caused by NMI, but it might also be a systematic issue
depending on the input parameters. 11 us on that ARM worries me.

Thanks,

tglx