Skip site navigation (1)Skip section navigation (2)
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>