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. Unfortunately, the invocation frequency doesn't calm down as much as it did on x86_64: after an uptime of 45min, I'm still seeing approximately one invocation per second. Right after boot, it was ~3/s. Thanks, Nicolai