svn commit: r219646 - head/sys/x86/isa

Jung-uk Kim jkim at FreeBSD.org
Tue Mar 15 21:21:52 UTC 2011


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


More information about the svn-src-all mailing list