Lines Matching refs:lock

37 static inline atomic_uint_t atomic_cmp_set(atomic_t *lock, atomic_uint_t old, atomic_uint_t set) /*…  in atomic_cmp_set()  argument
42 "=a" (res) : "m" (*lock), "a" (old), "r" (set) : "memory"); in atomic_cmp_set()
63 static inline atomic_uint_t atomic_cmp_set(atomic_t *lock, atomic_uint_t old, atomic_uint_t set) /*… in atomic_cmp_set() argument
68 "=a" (res) : "m" (*lock), "a" (old), "r" (set) : "memory"); in atomic_cmp_set()
98 static inline atomic_uint_t atomic_cas_64(atomic_t *lock, atomic_uint_t old, atomic_uint_t new) /* … in atomic_cas_64() argument
100 __asm__ __volatile__("casx [%2], %3, %0 " : "=&r"(new) : "0"(new), "r"(lock), "r"(old): "memory"); in atomic_cas_64()
106 static inline atomic_uint_t atomic_cmp_set(atomic_t *lock, atomic_uint_t old, atomic_uint_t set) /*… in atomic_cmp_set() argument
108 return (atomic_cas_64(lock, old, set)==old); in atomic_cmp_set()
115 static inline atomic_uint_t atomic_cas_32(atomic_t *lock, atomic_uint_t old, atomic_uint_t new) /* … in atomic_cas_32() argument
117 __asm__ __volatile__("cas [%2], %3, %0 " : "=&r"(new) : "0"(new), "r"(lock), "r"(old): "memory"); in atomic_cas_32()
123 static inline atomic_uint_t atomic_cmp_set(atomic_t *lock, atomic_uint_t old, atomic_uint_t set) /*… in atomic_cmp_set() argument
125 return (atomic_cas_32(lock, old, set)==old); in atomic_cmp_set()
140 static inline int fpm_spinlock(atomic_t *lock, int try_once) /* {{{ */ in fpm_spinlock() argument
143 return atomic_cmp_set(lock, 0, 1) ? 1 : 0; in fpm_spinlock()
148 if (atomic_cmp_set(lock, 0, 1)) { in fpm_spinlock()
159 #define fpm_unlock(lock) lock = 0 argument