Kernel

Timing warnings on Linux

If you’re seeing the following warning message when starting CallWeaver, your kernel timing is incompatible with CallWeaver:

Jun 25 09:25:01 WARNING[3060485040] timer.c: Requested a timer with  
1000000 nanosecond interval, but system timer reports a resolution  
of 4000250 nanosec. Timing may be unreliable!

This warning means you’re using a kernel without high resolution timers, and with HZ/ticks set to a different value than the recommended 1000.

How to fix this?

Kernel 2.6.21 and 2.6.24 for x86_32 and x86_64, respectively, support high resolution timers (hrtimers).

Compile a sufficiently new kernel supporting hrtimers with the following options:

CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_NO_HZ=y
CONFIG_HZ=1000
CONFIG_HIGH_RES_TIMERS=y

If using kernels older kernels without hrtimer support, compile with

CONFIG_HZ=1000

Now install the kernel, restart CallWeaver and this warning should disappear. If they have disappeared you should now have reliable timing.