On Wed, 2008-08-13 at 12:44 -0700, Andrew Morton wrote: > - Is xchg() guaranteed to be atomic? That's what atomic_xchg() is for. Yes, xchg() is guaranteed to be atomic. atomic_xchg() applies only to the atomic_t type, and is almost always #defined to xchg(). > - xchg() isn't guaranteed to exist on all architectures. atomic_xchg() is. You appear to be confusing xchg() with cmpxchg(). AFAIK, xchg() exists on all architectures, and is used in several instances of generic code. It is particularly extensively used in the networking layer. Trond