From owner-freebsd-stable@FreeBSD.ORG Mon Feb 15 20:33:48 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 388871065679 for ; Mon, 15 Feb 2010 20:33:48 +0000 (UTC) (envelope-from dwmalone@maths.tcd.ie) Received: from salmon.maths.tcd.ie (salmon.maths.tcd.ie [IPv6:2001:770:10:300::86e2:510b]) by mx1.freebsd.org (Postfix) with SMTP id 8AAD98FC17 for ; Mon, 15 Feb 2010 20:33:47 +0000 (UTC) Received: from walton.maths.tcd.ie ([134.226.81.10] helo=walton.maths.tcd.ie) by salmon.maths.tcd.ie with SMTP id ; 15 Feb 2010 20:33:30 +0000 (GMT) Date: Mon, 15 Feb 2010 20:33:27 +0000 From: David Malone To: Jeremy Chadwick Message-ID: <20100215203327.GA28078@walton.maths.tcd.ie> References: <20100211190652.6a66c618.torfinn.ingolfsen@broadpark.no> <20100211192515.GB13854@icarus.home.lan> <20100212132947.eb2af3d0.torfinn.ingolfsen@broadpark.no> <20100212131117.GA51905@icarus.home.lan> <20100212174452.2140cd72.torfinn.ingolfsen@broadpark.no> <20100212194604.GA73961@icarus.home.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100212194604.GA73961@icarus.home.lan> User-Agent: Mutt/1.5.6i Sender: dwmalone@maths.tcd.ie Cc: Torfinn Ingolfsen , freebsd-stable@freebsd.org Subject: Re: ntpd struggling to keep up - how to fix? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Feb 2010 20:33:48 -0000 On Fri, Feb 12, 2010 at 11:46:04AM -0800, Jeremy Chadwick wrote: > Technical footnote: I wish I understood 1) the difference between > ACPI-safe and ACPI-fast, and 2) how the system or OS "ranks" the > timecounters (the higher the value in parenthesis, supposedly the more > accurate/preferred it is). Xin, do you happen to know how this works? 1) When you read the ACPI timing register, you should get a sensible answer. However on some (most?) hardware, you can read the register and get it half way through an update. When the kernel finds the ACPI timer, it tries reading it a few times in a row, and checks the results look good - if they do, you get ACPI-fast. If it catches a half-updated register, then you get ACPI-slow, which reads the register multiple times in an effort to avoid the problem. 2) The ranking of timers is essentially hard wired, though for some times it is adjusted in some way. For example, the ranking of the TSC may be reduced if it looks like an SMP system. I believe the ranking was originally intended to be a measure of how fast the counter could be read, but things have turned out to be complicated by difficult hardware. David.