DragonFly BSD
DragonFly kernel List (threaded) for 2004-11
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Patch to detect 8254 timer munging in BIOS calls (needs testing)


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 20 Nov 2004 11:18:39 -0800 (PST)

: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
:flag?
:
:Joerg

    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.

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]