Date: Thu, 29 May 2003 10:49:21 -0700 (PDT) From: Thomas Moestl <tmm@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sparc64/sparc64 tick.c Message-ID: <200305291749.h4THnLXu045206@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
tmm 2003/05/29 10:49:21 PDT
FreeBSD src repository
Modified files:
sys/sparc64/sparc64 tick.c
Log:
Completely disable interrupts (not just raise %pil) when calculating the
value to be written into tick_compare in tick_hardclock(). While
we were taking care that the value to be written was at least TICK_GRACE
ticks in the future, a vector interrupt could happen between calculating
the value and writing it. If it took longer than TICK_GRACE to complete
(which is doubtful for a single device-triggered vector interrupt, but
quite likely for some IPIs), the value written would be in the past
and tick interrupts (which drive hardclock and statclock) would stop
until %tick wraps around, which takes a long time.
Also, increase TICK_GRACE from 1000 to 10000 for good measure.
Reported by: kris
Reviewed by: jake
Approved by: re (scottl)
Revision Changes Path
1.13 +5 -4 src/sys/sparc64/sparc64/tick.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305291749.h4THnLXu045206>
