Hazard pointers
Hazard pointers
Posted Oct 17, 2024 12:32 UTC (Thu) by jseigh (guest, #173778)In reply to: Hazard pointers by PaulMcKenney
Parent article: The RCU API, 2024 edition
I gave up on the idea of a hazard pointer implementation as soon as I realized it would involve writing a tracing garbage collector of sorts as part of that.
I did remove the hazard pointer logic from smrproxy. Absent the load of the address of the reader lock object, a lock action is 2 machine instructions, a load register followed by a store register. No loop so it is formally wait-free. Unlock is same as before, a store of 0 to memory. I'm starting on porting it to c++ which also involves figuring out what a c++ deferred reclamation API looks like.