I noticed David posted a patch to do something similar the other day. With a generic atomic_cmpxchg available, such a patch is no longer objectionable to those architectures that don't #define __HAVE_ARCH_CMPXCHG Do we want this David? Any other architecture have a super optimised atomic_dec_and_lock that surpasses this implementation? -- SUSE Labs, Novell Inc.