Re: Opteron Rev E has a bug ... a locked instruction doesn't act as a read-acquire barrier

From: Arkadiusz Miskiewicz
Date: Mon Aug 04 2008 - 09:56:19 EST


On Monday 04 August 2008, Mikael Pettersson wrote:
> Arkadiusz Miskiewicz writes:
> > Hello,
> >
> > http://google-perftools.googlecode.com/svn-history/r48/trunk/src/base/at
> >omicops-internals-x86.cc says
> >
> > " // Opteron Rev E has a bug in which on very rare occasions a locked
> > // instruction doesn't act as a read-acquire barrier if followed by a
> > // non-locked read-modify-write instruction. Rev F has this bug in
> > // pre-release versions, but not in versions released to customers,
> > // so we test only for Rev E, which is family 15, model 32..63
> > inclusive. if (strcmp(vendor, "AuthenticAMD") == 0 && // AMD
> > family == 15 &&
> > 32 <= model && model <= 63) {
> > AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug = true;
> > } else {
> > AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug = false;
> > }
> > "
> >
> > does kernel have quirk/workaround for this? I'm looking at
> > arch/x86/kernel/cpu but I don't see workaround related to this (possibly
> > I'm overlooking).
>
> I can find no reference to this alleged RevE erratum in the
> Athlon64/Opteron revision guide (25759.pdf).
>
> But if this bug is real then we need to know about it. Could
> you ask the author of the code you quoted above to clarify?

Got answer, opensolaris has some workarounds for this bug I still don't know
which errata # is that:

http://groups.google.com/group/google-perftools/browse_thread/thread/3d1b78d4a9db8c6e

btw. I got info about this bug after hiting this problem:
http://bugs.mysql.com/bug.php?id=26081

> /Mikael

--
Arkadiusz MiÅkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/