svn commit: r198868 - in head/sys: amd64/amd64 i386/i386
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.
More information about the svn-src-all