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

看板DFBSD_kernel作者時間21年前 (2004/11/21 20:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
: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@backplane.com>
文章代碼(AID): #11e8EW00 (DFBSD_kernel)
文章代碼(AID): #11e8EW00 (DFBSD_kernel)