From owner-cvs-src@FreeBSD.ORG Thu May 29 10:49:22 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 18C9A37B401; Thu, 29 May 2003 10:49:22 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BE3C843F75; Thu, 29 May 2003 10:49:21 -0700 (PDT) (envelope-from tmm@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h4THnL0U045207; Thu, 29 May 2003 10:49:21 -0700 (PDT) (envelope-from tmm@repoman.freebsd.org) Received: (from tmm@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h4THnLXu045206; Thu, 29 May 2003 10:49:21 -0700 (PDT) Message-Id: <200305291749.h4THnLXu045206@repoman.freebsd.org> From: Thomas Moestl Date: Thu, 29 May 2003 10:49:21 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/sparc64/sparc64 tick.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 May 2003 17:49:22 -0000 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