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

John Baldwin jhb at
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>:
> > Attilio Rao <attilio at> writes:
> > > Dag-Erling Smørgrav <des at> 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-all mailing list