On Wed, 21 Sep 2016, Nicolai Stange wrote: > Thomas Gleixner <t...@linutronix.de> writes: > > > On Wed, 21 Sep 2016, Nicolai Stange wrote: > >> Thomas Gleixner <t...@linutronix.de> 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