Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Mar 2011 15:51:53 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        "Jung-uk Kim" <jkim@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Bruce Evans <brde@optusnet.com.au>
Subject:   Re: svn commit: r219646 - head/sys/x86/isa
Message-ID:  <201103151551.54196.jhb@freebsd.org>
In-Reply-To: <201103151526.14264.jkim@FreeBSD.org>
References:  <201103142205.p2EM5x6E012664@svn.freebsd.org> <20110316035308.A2598@besplex.bde.org> <201103151526.14264.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

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.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103151551.54196.jhb>