Deutsch English Français Italiano |
<v8cqor$1g8jb$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!feeds.phibee-telecom.net!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: Memory ordering Date: Wed, 31 Jul 2024 00:57:15 -0700 Organization: A noiseless patient Spider Lines: 57 Message-ID: <v8cqor$1g8jb$1@dont-email.me> References: <b5d4a172469485e9799de44f5f120c73@www.novabbs.org> <v7ubd4$2e8dr$1@dont-email.me> <v7uc71$2ec3f$1@dont-email.me> <2024Jul26.190007@mips.complang.tuwien.ac.at> <2032da2f7a4c7c8c50d28cacfa26c9c7@www.novabbs.org> <2024Jul29.152110@mips.complang.tuwien.ac.at> <f8869fa1aadb85896d237179d46b20f8@www.novabbs.org> <v88srb$kdv2$5@dont-email.me> <ec5f62a06185b38d1624803a0d0adf29@www.novabbs.org> <20240730124742.00001a1d@yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Wed, 31 Jul 2024 09:57:16 +0200 (CEST) Injection-Info: dont-email.me; posting-host="74e95562e9d30488492612fbf917977f"; logging-data="1581675"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19QYWOzLQksSnaT28zdRmHhXl/os3aweIc=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:a5XqqRJqXu1uaS2IoMqK8l+Xkm4= In-Reply-To: <20240730124742.00001a1d@yahoo.com> Content-Language: en-US Bytes: 3636 On 7/30/2024 2:47 AM, Michael S wrote: > On Mon, 29 Jul 2024 20:43:47 +0000 > mitchalsup@aol.com (MitchAlsup1) wrote: > >> On Mon, 29 Jul 2024 20:08:10 +0000, Chris M. Thomasson wrote: >> >>> On 7/29/2024 10:49 AM, MitchAlsup1 wrote: >>> [...] >>> >>>> A MEMBAR dropped into the pipeline, when nothing is speculative, >>>> takes no more time than an integer ADD. Only when there is >>>> speculation does it have to take time to relax the speculation. >>> >>> I am wondering if you were ever aware of the "danger zone" wrt >>> putting a MEMBAR instruction in a memory delay slot over on the >>> SPARC? The docs explicitly said not to do it. I guess it can cause >>> some interesting memory order "issues" that might allow a running >>> system to last for say, five years before crashing at a random >>> time... Yikes! >> >> Which, btw, is why one should exhaustively test atomic codes before >> putting it production. You do not want to chase down a memory ordering >> issue that occurs, in production, less than once a month. >> >> I did a lot of programming on SPARCs and never needed a MEMBAR.... >> but the OS guys used them like they were "free". >> > > Did you do programming on SPARC in RMO mode? > According to my understanding, RMO mode existed only on a couple of > SPARC CPU models (UltraSparc and UltraSparc-II) and was activated only > by OSes others than Solaris. Possibly, only by Linux. > >> All sorts of things were dangerous in the delay slot of a branch, >> not the least of which was another branch. >> > > Chris M. Thomasson wrote "memory delay slot". I was not good to put a MEMBAR instruction in any branch delay slot, or any delay slot... > I wonder what's meant by that. According to my understanding, on SPARC, > unlike on early MIPS, load delay slot was always merely an > implementation detail rather than SW-visible architectural feature. > >> Prior to the introduction of multi-threaded cores, the rounding >> modes of the FPU status register were hard wired to the FU. >> Afterwards, they became "just another piece of state" that got >> pipelined down instruction execution. >>> >>> [...] > >