DragonFly kernel List (threaded) for 2004-11
Re: Patch to detect 8254 timer munging in BIOS calls (needs testing)
:On Sat, Nov 20, 2004 at 05:28:05PM -0000, Andreas Hauser wrote:
:> dillon wrote @ Fri, 19 Nov 2004 14:00:51 -0800 (PST):
:> > The question is: (a) does this work (detect the access and print the
:> > warning) and (b) prevent runaway clocks.
:> Seems to work, but the correction seems to be one hour off.
:> Without the patch my clock was pretty exactly running at twice the expected
:> speed (especially noticable when i benchmarked some of my programms and got
:> double of the expected times), now it runs aligned with the wall clock and
:> the benchmarks are back to what was expected.
:Is your system time in UTC or localtime? Does your BIOS have a local time
That makes a weird sort of sense, but at that point we aren't using
the RTC to track the time, and Andreas box is flipping forward multiple
hours. i.e. his was forward 2 hours before he corrected it (reading
from his last posting).
One hour is ~4 billion 8254 ticks (1.19MHz x 60 x 60 = 32 bit roll over),
so my guess is that timer_restore() is occassionally breaking something
in the kernel's 32 bit internal tracking counter (the low 16 bits of
which is the 8254's current 16 bit count).
I should have it tracked down ASAP.