Hi, This code suffers from the same problem that all the existing do_fast code suffers from -- namely, the assumption that the timer interrupt is processed exactly on the 100Hz tick. The attached patch fixes the problem for 2.0.3x series kernels and has been running for a time without problems. It also includes a debugging function (do_both_gettimeoffset) that can be used to demonstrate the problem. The trick is to record (using the do_slow mechanism) the time when the interrupt is actually taken, and then factor that into the calculation. Philip Andrew Derrick Balsa wrote: > > The code itself: > (drop-in replacement for time.c in 2.0.34) > --------------------- > Andrew D. Balsa > andrebalsa@altern.org > > ------------------------------------------------------------------------ > > Name: time.c > time.c Type: C Source File (application/x-unknown-content-type-cfile) > Encoding: base64 -- Philip Gladstone +1 781 530 2461 Raptor Systems / Axent Technologies Waltham, MA http://www.raptor.com/