On 2025-06-26 06:16, Christoph Hellwig wrote:
On Wed, Jun 25, 2025 at 07:08:57AM -0700, Boqun Feng wrote:
Sure, I will put one for the future version, here is the gist:
Thanks a lot!
The updater's wait can finish immediately if no one is accessing 'a', in
other words it doesn't need to wait for reader 2.
So basically it is the RCU concept, but limited to protecting exactly
one pointer update per critical section with no ability for the read
to e.g. acquire a refcount on the objected pointed to by that pointer?
FWIW, hazard pointers can be chained with other existence guarantee
mechanisms. I've done prototypes that use hazard pointers chained
with a reference counter in the object to implement something similar to
smart pointers. Let me know if you are interested in the details.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com