| Deutsch English Français Italiano |
|
<101nh8m$768d$3@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> Newsgroups: comp.lang.c++ Subject: Re: Wait-free Hazard Pointers Using Std Atomics Date: Tue, 3 Jun 2025 12:09:09 -0700 Organization: A noiseless patient Spider Lines: 36 Message-ID: <101nh8m$768d$3@dont-email.me> References: <1012o73$276nn$1@dont-email.me> <101830t$3faku$1@dont-email.me> <101aisl$2cjp$1@dont-email.me> <101idao$2erne$4@dont-email.me> <101l7aq$3hntf$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 03 Jun 2025 21:09:10 +0200 (CEST) Injection-Info: dont-email.me; posting-host="718ce13fa2b04f8a774c98602fe03811"; logging-data="235789"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18s0X8wp8fYo3l4669CPGqsnPkGjgP+6nI=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:Lc+oN8FIJVhHye/65z5fzfXdm7A= Content-Language: en-US In-Reply-To: <101l7aq$3hntf$1@dont-email.me> On 6/2/2025 3:07 PM, jseigh wrote: > On 6/1/25 16:31, Chris M. Thomasson wrote: >> On 5/29/2025 2:17 PM, jseigh wrote:>>> >>> >>> Push may wait-free but pop isn't event lock-free. >> > >> >> Actually, I like my futex stack experiment as is. normal CAS for push, >> SWAP for pop. It needs to have multiple stacks and distribute across >> them because popping all from a single stack can mean a thread gets >> too much work. Push lock-free, pop wait-free. >> >> > Well you actually have a lot of leeway in concurrent queue semantics. > Drop the FIFO requirements since they're not really observable for > all practical purposes and just concentrate on throughput forward > progress. > > And wait-free is highly overrated. It seems to be important only in > theses, technical papers and obscure blogs, not so much is real world > applications which is one reason I not going to implement it. Perhaps. However, using a loop-free exchange is "faster" than a loop based CAS? On Intel, XCHG vs a CMPXCHG loop? >> >>> >>> Anyway, after some consideration, I'm off on this >>> wait-free hazard pointer. The lock-free version is >>> more than performant. > > I did post on my blog how to improve reclaim forward progress for the > wait-free hazard pointer so it's equivalent to a proxy collector.