Deutsch English Français Italiano |
<v8bgmq$15b0p$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: jseigh <jseigh_es00@xemaps.com> Newsgroups: comp.arch Subject: Re: Arguments for a sane ISA 6-years later Date: Tue, 30 Jul 2024 15:59:23 -0400 Organization: A noiseless patient Spider Lines: 16 Message-ID: <v8bgmq$15b0p$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> <v872h5$alfu$2@dont-email.me> <v87g4i$cvih$1@dont-email.me> <v88oid$jkah$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 30 Jul 2024 21:59:23 +0200 (CEST) Injection-Info: dont-email.me; posting-host="9d36bcaeb7bd270f12ab1cd2dee871d5"; logging-data="1223705"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18dmptM1gawQTGjSmn8WfJF" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Cancel-Lock: sha1:/pun5aJD3Fy72citbzXmhchhb1U= In-Reply-To: <v88oid$jkah$1@dont-email.me> Content-Language: en-US On 7/29/2024 2:55 PM, Chris M. Thomasson wrote: > However... There is "special" mutex logic that actually requires a #StoreLoad! Peterson's algorithm for example. Iirc, it needs a #StoreLoad because it depends on a store followed by a load to another location to hold true. This is a bit different than other locking algorithms... > > There there are more "exotic" methods such as so-called asymmetric mutexes. They can have fast paths and slow paths, so to speak. It's almost getting into the realm of RCU here... A fast path can be memory barrier free. The slow path can make things consistent with the use of so called "remote" memory barriers. It's funny that Windows seems to have one: > > https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-flushprocesswritebuffers > > ;^) > > The slow path is meant to not be frequently used, hence the term asymmetric. On par with read/write logic... :^) > The folly library hazard pointers use that on windows, membarrier() system call on linux (something else on older linuxes), to get rid of the expensive store/load memory barrier in hazard pointer loads. Something like 0.7 nsecs w/o membar vs 7.7 w/ membar. The term I've seen being used now is asymmetric memory barrier. Joe Seigh