quick test before I spend another half hour typing in something that will disappear.
There was some discussion herehttp://www.ussg.iu.edu/hypermail/linux/kernel/0505.1/0252.html
I won't retype in my original post so as to not tempt theactivex daemons that lurk in Intel's html. :)
You can find a working prototype athttp://sourceforge.net/projects/atomic-ptr-plus/in the fastsmr package. It works on Linux for ia32 and for OS X for 32 bit powerpc. On a 866 mhz P3 a hazard pointer load with memory barriers is about 78 nsec and without memory barriers is about 11 nsec. On a 1.2 ghz ppc it's 115 and 10 nsec respectively. Not too bad when you let the pipelining do its stuff. This is probably the fastest lock-free read access method around that will scale well in a multiprocessor environment.