Deutsch English Français Italiano |
<vjrr3m$1nppo$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.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: Tue, 17 Dec 2024 07:33:58 -0500 Organization: A noiseless patient Spider Lines: 23 Message-ID: <vjrr3m$1nppo$1@dont-email.me> References: <vfono1$14l9r$1@dont-email.me> <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> <2024Nov17.161752@mips.complang.tuwien.ac.at> <vhh16e$1lp5h$1@dont-email.me> <2024Dec3.100144@mips.complang.tuwien.ac.at> <vin2rp$3ofc$1@dont-email.me> <3aa9f0a3d3dde86193abb1c01e52d03a@www.novabbs.org> <jwvser449xz.fsf-monnier+comp.arch@gnu.org> <vipv2t$v57m$1@dont-email.me> <virlki$1fhli$1@dont-email.me> <vis85o$1k2um$1@dont-email.me> <vjq76k$1aj88$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 17 Dec 2024 13:33:59 +0100 (CET) Injection-Info: dont-email.me; posting-host="4fb22ce3a6c19cc7b9e66b3938a89e1d"; logging-data="1828664"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+NqbJrDAB4wYsCWGKeMRhL" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:WVHqtEqxDkUY3T24W5TEFwzPi3o= Content-Language: en-US In-Reply-To: <vjq76k$1aj88$1@dont-email.me> Bytes: 2673 On 12/16/24 16:48, Chris M. Thomasson wrote: > On 12/5/2024 5:00 AM, jseigh wrote: >> >> Maybe. For thread local non-shared data if the compiler can make that >> determination but I don't know if the actual specs say that. > > It would be strange to me if the compiler executed a weaker barrier than > what I said needed to be there. If I say I need a #LoadStore | > #StoreStore here, then the compiler better put that barrier in there. > Humm... C++ concurrency was designed by a committee. They try to fit things into their world view even if reality is a bit more nuanced or complex than that world view. C++ doesn't use #LoadStore, etc... memory ordering terminology. They use acquire, release, cst, relaxed, ... While in some cases it's straightforward as to what that means, in others it's less obvious. Non-obvious isn't exactly what you want when writing multi-threaded code. There's enough subtlety as it is. Joe Seigh