| Deutsch English Français Italiano |
|
<vj34qd$3eaf4$3@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: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> Newsgroups: comp.arch Subject: Re: portable proxy collector test... Date: Sat, 7 Dec 2024 19:46:22 -0800 Organization: A noiseless patient Spider Lines: 38 Message-ID: <vj34qd$3eaf4$3@dont-email.me> References: <viquuj$16v40$1@dont-email.me> <vivkqq$2hpdg$1@dont-email.me> <vivpcg$2in59$2@dont-email.me> <vivuml$2k486$1@dont-email.me> <vj34oa$3eaf4$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sun, 08 Dec 2024 04:46:22 +0100 (CET) Injection-Info: dont-email.me; posting-host="021479c43f8aee38ea8f1e7f736414c6"; logging-data="3615204"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ylh40+BdgYfVM7ExWp8mUxtWzr//yBJo=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:4qKasVW14TRsUwNSn+HuP9YCmag= In-Reply-To: <vj34oa$3eaf4$2@dont-email.me> Content-Language: en-US Bytes: 2469 On 12/7/2024 7:45 PM, Chris M. Thomasson wrote: > On 12/6/2024 2:43 PM, jseigh wrote: >> On 12/6/24 16:12, Chris M. Thomasson wrote: >>> On 12/6/2024 11:55 AM, Brett wrote: >>>> Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>>> I am wondering if anybody can try to compile and run this C++11 >>>>> code of >>>>> mine for a portable word-based proxy collector, a sort of poor mans >>>>> RCU, >>>>> on an ARM based system? I don't have access to one. I am interested in >>>>> the resulting output. >>>> >>>> https://godbolt.org >>>> >>>>> https://pastebin.com/raw/CYZ78gVj >>>>> (raw text link, no ads... :^) >>> [...] >>> >>> It seems that all of the atomics are LDREX/STREX wrt fetch_add/sub . >>> Even with relaxed memory order. Are the LDREX/STREX similar to the >>> LOCK prefix on an x86/64? >>> >>> https://godbolt.org/z/EPGYWve71 >>> >>> It has loops for this in the ASM code. Adding a loop in there can >>> change things from wait-free to lock-free. Humm... >>> >> Which compiler did you choose. armv8? Try ARM64. >> >> The newer arms have new atomics >> cas and atomic fetch ops. >> >> LDREX/STREX is the older load store reserved. >> On the newer stuff it's ldxr/stxr not ldrex/strex. > > Oh shit. The arm version is 7 over on my GodBolt links! arm7-a to be precise. ;^)