Date: Sat, 16 Dec 2000 08:31:42 +0100 (CET) From: =?ISO-8859-1?Q?G=E9rard_Roudier?= <groudier@club-internet.fr> To: Matthew Jacob <mjacob@feral.com> Cc: John Baldwin <jhb@FreeBSD.ORG>, Bernd Walter <ticso@cicely5.cicely.de>, freebsd-alpha@FreeBSD.ORG Subject: RE: mb and wmb in atomic_ Message-ID: <Pine.LNX.4.10.10012160819460.809-100000@linux.local> In-Reply-To: <Pine.LNX.4.21.0012151424090.30110-100000@zeppo.feral.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 15 Dec 2000, Matthew Jacob wrote: > > } > >=20 > > There is obviously no relevance here in trying to drain something to > > memory. Note that thinking about a mb() as something that drains to mem= ory > > is a serious mistake in my opinion. We want to order there, not to drai= n > > anything anywhere. >=20 > That's correct. The 'drain' notion comes from the idea that write buffers > (either from devices to memory or from memory to devices) may contain dat= a > that needs to arrive at it's 'real' location. >=20 >=20 > > However, the mb() above does have the effect of throwing away any read= =20 > > that may have been prefetched by the CPU. If we need that here, we must > > not remove the mb(), otherwise the mb() can be removed. >=20 > I don't *believe* that this is an issue for Alpha. It is for sparc which = is > not a memory coherent model. This has nothing to do with memory coherency model but has to do with the ability of a CPU to exececutee LOADs out of order. > We went around and around with this discussion a while back. Since then I= 've > gotten the newer Alpha architecture book. I'm swamped at the moment, but = I'll > post the relevant pages about this some time this weekend. Handbook 1.0 1992 was already clear on this point. Unforgivable for having missed it you may well be. :-) G=E9rard. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.10.10012160819460.809-100000>