Date: Fri, 15 Dec 2000 13:19:25 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: Bernd Walter <ticso@cicely5.cicely.de> Cc: freebsd-alpha@FreeBSD.org Subject: Re: mb and wmb in atomic_ Message-ID: <XFMail.001215131925.jhb@FreeBSD.org> In-Reply-To: <20001215211930.D62048@cicely5.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On 15-Dec-00 Bernd Walter wrote: > On Fri, Dec 15, 2000 at 11:35:47AM -0800, John Baldwin wrote: >> >> On 15-Dec-00 Bernd Walter wrote: >> > Why are the mb and wmb operations needed in the atomic_ functions? >> > If I understood it correctly the locked operations are in synced >> > with others CPUs and there is no memory operation beside the variable >> > itself. >> >> They should probably only be used with the 'acq' and 'rel' variants. Hmm, >> btw, >> it looks like I have the order of the barriers in the 'acq' and 'rel' >> variants >> wrong. The barriers should be on the inside, not the outside. Anyone >> disagree? > > Depending on atomic(9) I agree. > I don't asume the acq variant realy needs one as the locked operation > should be finished at once at least out of the CPUs thus no post operation > has the chance to make anything before. > Do we have the situation anywhere that the bus reorders memory access? > Do we care about this? Can the CPU perform out-of-order execution though? And out-of-order memory accesses as a result? That is what memory barriers really protect you against. -- John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ 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?XFMail.001215131925.jhb>