From owner-freebsd-stable@FreeBSD.ORG Sat Jul 23 08:13:07 2011 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 2C496106564A for ; Sat, 23 Jul 2011 08:13:07 +0000 (UTC) (envelope-from callumgibson@optusnet.com.au) Received: from mail09.syd.optusnet.com.au (mail09.syd.optusnet.com.au [211.29.132.190]) by mx1.freebsd.org (Postfix) with ESMTP id 9E85E8FC0C for ; Sat, 23 Jul 2011 08:13:06 +0000 (UTC) Received: from omma.gibson.athome (c122-106-15-156.rivrw1.nsw.optusnet.com.au [122.106.15.156]) by mail09.syd.optusnet.com.au (8.13.1/8.13.1) with SMTP id p6N8D4Rr006976 for ; Sat, 23 Jul 2011 18:13:04 +1000 Received: (qmail 14529 invoked by uid 107); 23 Jul 2011 18:13:04 +1000 Date: 23 Jul 2011 18:13:04 +1000 Date: Sat, 23 Jul 2011 18:13:04 +1000 From: Callum Gibson To: John Baldwin Message-ID: <20110723081304.GA14172@omma.gibson.athome> References: <20110719112033.GA51765@omma.gibson.athome> <20110721205600.GA52261@omma.gibson.athome> <20110721214310.GA74656@icarus.home.lan> <201107220816.52901.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201107220816.52901.jhb@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Attilio Rao , freebsd-stable@freebsd.org, Jung-uk Kim , freebsd-amd64@freebsd.org Subject: Re: powernow regression in 8-STABLE 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: Sat, 23 Jul 2011 08:13:07 -0000 On 22Jul11 08:16, John Baldwin wrote: }The problem is that we calibrate the TSC using this algorithm: } } - grab the TSC } - spin on the ISA timer waiting for it to run for a second } - grab the TSC } }The issue is that the SMI# fires at the same time we want to be execuiting }step 3, and step 3 is deferred while the SMI# handler runs. As a result, the }TSC delta ends up being "1 second + time of an SMI# to poll USB". We have a }hack fix for this at work that originally came from Attilio Rao. This is a }patch for it relative to 8. It disables interrupt generation for the ISA }timer while we calibrate the TSC (which disables the SMI# temporarily): Thanks, John. The hack works as intended, but I guess it's not a "real" solution which is why you haven't committed it? C -- Callum Gibson @ home http://members.optusnet.com.au/callumgibson/