DragonFly BSD
DragonFly commits List (threaded) for 2005-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

cvs commit: src/sys/i386/isa clock.c src/sys/kern kern_systimer.c src/sys/sys globaldata.h


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 27 Mar 2005 11:25:11 -0800 (PST)

dillon      2005/03/27 11:25:10 PST

DragonFly src repository

  Modified files:
    sys/i386/isa         clock.c 
    sys/kern             kern_systimer.c 
    sys/sys              globaldata.h 
  Log:
  Fix a bug where the main system clock stops operating.  We were using a field
  in the globaldata structure called gd_nextclock to determine whether a systimer
  was queued for a cpu.  This field indicated the next pending timeout for the
  systimer on the cpu.  However, at 8254 rates this 32 bit field has a chance of
  calculating to 0 once every 1/18 second, which disables the systimer dispatch
  on that cpu and can cause the system clocks to stop operating.
  
  Remove the field and replace with a TAILQ_FIRST queue check instead.
  
  The machine dependant part of the systimer implementations needs a better
  way to figure out which cpus to dispatch to.
  
  Reported-by: justin@xxxxxxxxxxxxxxxxxx
  
  Revision  Changes    Path
  1.21      +4 -2      src/sys/i386/isa/clock.c
  1.6       +4 -8      src/sys/kern/kern_systimer.c
  1.35      +1 -1      src/sys/sys/globaldata.h


http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/clock.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_systimer.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/globaldata.h.diff?r1=1.34&r2=1.35&f=u



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