svn commit: r198868 - in head/sys: amd64/amd64 i386/i386

John Baldwin jhb at freebsd.org
Wed Nov 4 18:17:23 UTC 2009


On Wednesday 04 November 2009 11:15:28 am Attilio Rao wrote:
> 2009/11/4, Dag-Erling Smørgrav <des at des.no>:
> > Attilio Rao <attilio at freebsd.org> writes:
> > > Dag-Erling Smørgrav <des at des.no> writes:
> > > > According to the reference you gave, OpenSolaris has a workaround for
> > > > this issue.  Perhaps we should adopt it?
> > > IIRC, based on what I readed on-line, it could be still a WARNING msg,
> > > but I didn't double-check for it.
> >
> > Uh, apparently, it can be worked around with an additional lfence
> > instruction...  See the first couple of comments on that bugzilla page
> > you linked to.  If the cost is too high, we could make it conditional on
> > "options BROKEN_OPTERON_E" or something.
> 
> Yeah but the lfence is completely impratical from the overhead POV --
> and actually I don't like the idea to add a compile time option based
> on family/model.
> We could maybe do a mixed approach: printout the WARNING msg only if
> the BROKEN_OPTERON_E is not used otherwise be ok.
> I still don't like it because it is going to dirty the atomic.h code a
> bit, but it can be an acceptable compromise.

We have had family/model specific hacks with an associated #ifdef in the past, 
see NO_F00F_HACK (though that is probably less invasive).  Also, if it 
affects atomic.h then you may need to leave it always enabled in userland to 
be truly safe.

-- 
John Baldwin


More information about the svn-src-head mailing list