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. ;^)