Deutsch   English   Français   Italiano  
<vhct2q$lk1b$2@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jseigh <jseigh_es00@xemaps.com>
Newsgroups: comp.arch
Subject: Re: Memory ordering
Date: Sun, 17 Nov 2024 09:03:06 -0500
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <vhct2q$lk1b$2@dont-email.me>
References: <vfono1$14l9r$1@dont-email.me> <vgm4vj$3d2as$1@dont-email.me>
 <vgm5cb$3d2as$3@dont-email.me> <YfxXO.384093$EEm7.56154@fx16.iad>
 <vh4530$2mar5$1@dont-email.me>
 <-rKdnTO4LdoWXKj6nZ2dnZfqnPWdnZ2d@supernews.com>
 <vh5t5b$312cl$2@dont-email.me>
 <5yqdnU9eL_Y_GKv6nZ2dnZfqn_GdnZ2d@supernews.com>
 <2024Nov15.082512@mips.complang.tuwien.ac.at> <vh7ak1$3cm56$1@dont-email.me>
 <20241115152459.00004c86@yahoo.com> <vh8bn7$3j6ql$1@dont-email.me>
 <vhb2dc$73fe$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 17 Nov 2024 15:03:07 +0100 (CET)
Injection-Info: dont-email.me; posting-host="c88d475acb29efeecee286f1dfc3b08d";
	logging-data="708651"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19xHjdFGx+15cdDwU+/Eim+"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:7esAP8zP6CCl5DmsNXagVFO3sqU=
In-Reply-To: <vhb2dc$73fe$1@dont-email.me>
Content-Language: en-US
Bytes: 2185

On 11/16/24 16:21, Chris M. Thomasson wrote:

> Fwiw, in C++ std::memory_order_consume is useful for traversing a node 
> based stack of something in RCU. In most systems it only acts like a 
> compiler barrier. On the Alpha, it must emit a membar instruction. Iirc, 
> mb for alpha? Cannot remember that one right now.

That got deprecated.  Too hard for compilers to deal with.  It's now
same as memory_order_acquire.

Which brings up an interesting point.  Even if the hardware memory
memory model is strongly ordered, compilers can reorder stuff,
so you still have to program as if a weak memory model was in
effect.   Or maybe disable reordering or optimization altogether
for those target architectures.

Joe Seigh