| 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