From owner-svn-src-head@FreeBSD.ORG Tue Mar 15 21:21:52 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id CE5EB106566C; Tue, 15 Mar 2011 21:21:49 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: John Baldwin Date: Tue, 15 Mar 2011 17:21:34 -0400 User-Agent: KMail/1.6.2 References: <201103142205.p2EM5x6E012664@svn.freebsd.org> <201103151526.14264.jkim@FreeBSD.org> <201103151551.54196.jhb@freebsd.org> In-Reply-To: <201103151551.54196.jhb@freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201103151721.42664.jkim@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Bruce Evans Subject: Re: svn commit: r219646 - head/sys/x86/isa X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Mar 2011 21:21:52 -0000 On Tuesday 15 March 2011 03:51 pm, John Baldwin wrote: > On Tuesday, March 15, 2011 3:26:11 pm Jung-uk Kim wrote: > > Now don't you think we should really kill delay by TSC? ;-) > > Delay by TSC fixed known deadlocks with the i8254 based DELAY() due > to the use of locks. Be careful that you don't re-introduce old > bugs. Yeah, that's perfectly understood. > Also, you can use a TSC for DELAY() in cases when it is not safe to > use it for the timecounter (if it is not in sync across cores, but > is used in a machine with invariant TSCs or where the user knows > they won't ever throttle it). Modern Intel CPUs all have invariant > TSCs that are more or less in sync across cores, and we should > certainly still use the TSC for DELAY() in that case. Even if they > aren't in sync (so we can't use it for the timecounter) we should > still use the TSC if they are invariant as it is far cheaper than > anything else. That, too, is well understood. You know I added tsc_is_invariant myself. :-) However, why do we need cheaper DELAY() when we trying to "delay" something with it? Jung-uk Kim