time runs too slow on maple

linas linas at austin.ibm.com
Tue Jan 10 09:44:20 EST 2006


On Mon, Jan 09, 2006 at 06:12:04PM +0100, Olaf Hering was heard to remark:
>  On Mon, Jan 09, Linas Vepstas wrote:
> 
> > I don't understand timekeeping in the kernel, but consistently loosing 
> > the same amount with every tick sounds like some sort of mis-calibration
> > during boot.
> 
> It uses the generic function. Maybe it needs some tweaking.
> 
> /var/log/boot.msg-<4>Synchronizing timebase
> /var/log/boot.msg-<4>Got ack
> /var/log/boot.msg-<4>score 299, offset 1000
> /var/log/boot.msg-<4>score 299, offset 500
> /var/log/boot.msg-<4>score 299, offset 250
> /var/log/boot.msg-<4>score 55, offset 125
> /var/log/boot.msg-<4>score -223, offset 62
> /var/log/boot.msg-<4>score -59, offset 93
> /var/log/boot.msg-<4>score -77, offset 109
> /var/log/boot.msg-<4>score 45, offset 117
> /var/log/boot.msg-<4>score 107, offset 113
> /var/log/boot.msg-<4>score -35, offset 111
> /var/log/boot.msg-<4>score 41, offset 112
> /var/log/boot.msg-<4>score 65, offset 111
> /var/log/boot.msg-<4>Min 111 (score 79), Max 111 (score -61)
> /var/log/boot.msg:<4>Final offset: 111 (9/300)

A very quick skim of the code, in

arch/powerpc/kernel/smp-tbsync.c:  smp_generic_give_timebase()

leads me to think that the maple board has a clock with a 
huge amount of jitter, its bouncing all over the place.
However, the smp_generic_give_timebase() isn't taking any 
averages that would smooth out the jitter; instead, it locks
onto some random value and uses that. 

I might be able to hack some averaging into that chunk of code, 
but I don't know this stuff, not sure if that would be the right fix.

--linas

>  alias appserv=wotan

? like, Wagner ?



More information about the Linuxppc64-dev mailing list