Re: gettimeofday question

Russell King (rmk@arm.linux.org.uk)
Mon, 19 Mar 2001 19:06:00 +0000 (GMT)


Eli Carter writes:
> Russell, I know that at least the EBSA285's timer1_gettimeoffset() needs
> some attention to fix a time going backward problem.

I know about this, which is what started me looking at what x86 does,
and I am firmly of the conclusion that x86 is buggy as it stands.

I believe that we can, instead of having a per-machine fix on ARM, have
a generic fix. At the moment, I haven't worked out exactly what this
generic fix would be.

> The problem is only going to occur if gettimeoffset has not been called
> in the past 10ms. Once 10ms has passed, either jiffies has changed, or
> count will have passed count_p.

My concern with the x86 fix is what if 9.9999999999ms has passed since the
last timer tick, and we got the timer tick after we disabled interrupts and
entered do_gettimeofday. This can lead to the tests in there miscorrecting
IMHO. You won't see it with an infinite loop reading the time of day...

I'll re-read your mail in more depth later tonight. Appologies if this
reply appears to be a little early.

--
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/