Subj : Proxy collector based on RCU+SMR hazard pointers To : comp.programming.threads From : Joe Seigh Date : Sun Aug 14 2005 12:17 pm Doing a proxy collector based on RCU+SMR is easier than the proxy collector based on atomic_ptr since you don't need a special collector object. Just keep a spare collection element object around. When you remove an element from the collection, instead of deferring deletion of it, you swap it with the proxy object and defer deletion of it instead. The built in FIFO of deletes if you're using mutexes for the writes and FIFO processing of RCU+SMR take care of everything, so no explicit FIFO queue like atomic_ptr proxy does. Performance measurements on a single cpu show RCU+SMR proxy performs way better than atomic_ptr proxy which did slightly better than plain RCU+SMR on linked list traversals with no preemption. -- Joe Seigh When you get lemons, you make lemonade. When you get hardware, you make software. .