Messages in this thread | | | From | Arkadiusz Miskiewicz <> | Subject | Re: Opteron Rev E has a bug ... a locked instruction doesn't act as a read-acquire barrier | Date | Mon, 4 Aug 2008 15:56:05 +0200 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |