why did you go for the pthread implementation over the spinlock implementation  should we kill the spinlock implementation  move the pthread implementation into the need quasiatomic block at the bottom  and have non lrdex arm and mips and x all fall through to that  my primary concern here is that i do not want two copies of this code in the same file  but if i can kill the spinlock stuff at the same time  that is even better  actually  i will do this for you 