Deutsch English Français Italiano |
<vbjgiq$1rat4$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!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: arm ldxr/stxr vs cas Date: Sat, 7 Sep 2024 23:35:07 -0700 Organization: A noiseless patient Spider Lines: 37 Message-ID: <vbjgiq$1rat4$1@dont-email.me> References: <vb4sit$2u7e2$1@dont-email.me> <07d60bd0a63b903820013ae60792fb7a@www.novabbs.org> <vbc4u3$aj5s$1@dont-email.me> <898cf44224e9790b74a0269eddff095a@www.novabbs.org> <vbd4k1$fpn6$1@dont-email.me> <vbd91c$g5j0$1@dont-email.me> <vbflk4$uc98$1@dont-email.me> <352e80684e75a2c0a298b84e4bf840c4@www.novabbs.org> <vbhpv0$1de2c$1@dont-email.me> <vbimfd$1jbai$1@dont-email.me> <vbimo3$1jbai$2@dont-email.me> <vbimsj$1jb9v$1@dont-email.me> <7ca6928a45e4cae89ba50a4623809d1c@www.novabbs.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sun, 08 Sep 2024 08:35:07 +0200 (CEST) Injection-Info: dont-email.me; posting-host="d44d7012c3ec9d16fb2fdce73058c980"; logging-data="1944484"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/3LZ9UtdhiAdV2UOgxlJKkWJx42MD83yE=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:gLK0HSsWaBaAaZ/OBObtWst0Sqw= Content-Language: en-US In-Reply-To: <7ca6928a45e4cae89ba50a4623809d1c@www.novabbs.org> Bytes: 2976 On 9/7/2024 5:59 PM, MitchAlsup1 wrote: > On Sat, 7 Sep 2024 23:16:35 +0000, Chris M. Thomasson wrote: > >> On 9/7/2024 4:14 PM, Chris M. Thomasson wrote: >> [...] >>> When I am using CAS I don't really expect it to fail willy nilly even if >>> the comparands are still the same. Weak vs Strong. Still irks me a bit. >>> ;^) >> >> There are algorithms out there, usually state machines that depend on >> strong cas. When a CAS fails, it depends on it failing because the >> comparands were actually different... > > Leading to ABA failures:: > > Do you really want the following CAS to succeed ?? > > LD R19,[someMemoryValue] > .. > interrupt delays program execution for 1 week > .. > CAS R17,R19,[someMemoryLocation] > > Given that the someMemoryLocation is accessible to other programs > while tis one is sleeping ?? > > Thus, it seems reasonable to fail a CAS when one cannot determine > if the memory location has been changed and changed back in the > mean time. ABA, well that can happen with CAS and certain algorithms that use them. The good ol' version counter is pretty nice, but it still can fail. 64 bit words, 128 bit CAS. Loads to boot... ;^) Actually, I think Joe mentioned something interesting about CAS a long time ago wrt IBM... Candy Cane Striped books (Joe do you remember?) about a way to avoid live lock and failing in the os. I think Windows has some like it with their SList and SEH?