| Deutsch English Français Italiano |
|
<vhh181$1lp5h$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> Newsgroups: comp.arch Subject: Re: Memory ordering Date: Mon, 18 Nov 2024 19:38:41 -0800 Organization: A noiseless patient Spider Lines: 38 Message-ID: <vhh181$1lp5h$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> <vhct2q$lk1b$2@dont-email.me> <vhdn91$r246$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 19 Nov 2024 04:38:42 +0100 (CET) Injection-Info: dont-email.me; posting-host="9787b18f7626d1c750fb4a6ec8af4b65"; logging-data="1762481"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Zo5MzXkPJIj1oJi3Qhi0uHfrq1P3PEAk=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:l/PUMd+dtOznqS26Fa/QtoWkDHc= Content-Language: en-US In-Reply-To: <vhdn91$r246$1@dont-email.me> Bytes: 2892 On 11/17/2024 1:30 PM, Chris M. Thomasson wrote: > On 11/17/2024 6:03 AM, jseigh wrote: >> 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. > > Strange! C++ has: > > https://en.cppreference.com/w/cpp/atomic/atomic_signal_fence > > That only deals with compilers, not the arch memory order... Humm... > > Interesting Joe! > > >> 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. > > Indeed. The compiler needs to know about these things. Iirc, there was > an old post over c.p.t that deals with a compiler (think it was GCC) > that messed up a pthread try lock for a mutex. It's a very old post. But > I remember it for sure. > a song for contention: https://youtu.be/Sdq4T3iRV80?list=RDMMy3hf0T4qpYg ;^D