Deutsch English Français Italiano |
<vh1hfr$2329k$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Terje Mathisen <terje.mathisen@tmsw.no> Newsgroups: comp.arch Subject: Re: Arm ldaxr / stxr loop question Date: Wed, 13 Nov 2024 07:37:46 +0100 Organization: A noiseless patient Spider Lines: 37 Message-ID: <vh1hfr$2329k$1@dont-email.me> References: <vfono1$14l9r$1@dont-email.me> <YROdnVIXfKmwYrn6nZ2dnZfqn_GdnZ2d@supernews.com> <vg5tf7$3tqmi$2@dont-email.me> <vgm0g1$3c2t2$3@dont-email.me> <zwwXO.842112$_o_3.379966@fx17.iad> <vgm4vj$3d2as$1@dont-email.me> <vgm5cb$3d2as$3@dont-email.me> <OnzXO.657386$1m96.281665@fx15.iad> <TfKXO.658488$1m96.146506@fx15.iad> <T99YO.79275$MoU3.7336@fx36.iad> <3lGdnVvGQIAq2676nZ2dnZfqnPGdnZ2d@supernews.com> <vh0jo6$1q1hl$3@dont-email.me> <0TmdnaP6ecXoQ676nZ2dnZfqn_adnZ2d@supernews.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Wed, 13 Nov 2024 07:37:47 +0100 (CET) Injection-Info: dont-email.me; posting-host="aefbfb75af1ec7cc91ccab47cc8eb48b"; logging-data="2197812"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18HOdDLP4fntmsWl/7nrGAZRmckia/WDLAcgOQlQn4PBA==" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.19 Cancel-Lock: sha1:28mF6mV+sCI5Ku9+2O5oMq+oSVw= In-Reply-To: <0TmdnaP6ecXoQ676nZ2dnZfqn_adnZ2d@supernews.com> Bytes: 3206 aph@littlepinkcloud.invalid wrote: > Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >> On 11/12/2024 4:14 AM, aph@littlepinkcloud.invalid wrote: >>> >>> One other thing to be aware of is that the StoreLoad barrier needed >>> for sequential consistency is logically part of an LDAR, not part of a >>> STLR. This is an optimization, because the purpose of a StoreLoad in >>> that situation is to prevent you from seeing your own stores to a >>> location before everyone else sees them. >> >> Fwiw, even x86/x64 needs StoreLoad when an algorithm depends on a >> store followed by a load to another location to hold. LoadStore is >> not strong enough. The SMR algorithm needs that. Iirc, Peterson's >> algorithms needs it as well. > > That's right, but my point about LDAR on AArch64 is that you can get > sequential consistency without needing a StoreLoad. LDAR can peek > inside the store buffer and, much of the time, determine that it isn't > necessary to do a flush. I don't know if Arm were the first to do > this, but I don't recall seeing it before. It is a brilliant idea. Isn't this just reusing the normal forwarding network? If not found, you do as usual and start a regular load operation, but now you also know that you can skip the flushing of the same? PS. I do agree that it is a good idea (even patent-worthy?), but not brilliant since it is so very obvious in hindsight. To me brilliant is something that still isn't obvious after larning about it. Terje -- - <Terje.Mathisen at tmsw.no> "almost all programming can be viewed as an exercise in caching"