Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Mar 2011 17:21:34 -0400
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        John Baldwin <jhb@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:  <201103151721.42664.jkim@FreeBSD.org>
In-Reply-To: <201103151551.54196.jhb@freebsd.org>
References:  <201103142205.p2EM5x6E012664@svn.freebsd.org> <201103151526.14264.jkim@FreeBSD.org> <201103151551.54196.jhb@freebsd.org>

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



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