Lines Matching refs:rw
135 * Changed to use the same technique as rw semaphores. See
151 static inline void __raw_read_lock(raw_rwlock_t *rw)
156 * rw->lock : >0 : unlock
160 * rw->lock -= 1; <-- need atomic operation
161 * if (rw->lock >= 0) break;
162 * rw->lock += 1; <-- need atomic operation
163 * for ( ; rw->lock <= 0 ; );
194 : "r" (&rw->lock)
202 static inline void __raw_write_lock(raw_rwlock_t *rw)
207 * rw->lock : =RW_LOCK_BIAS_STR : unlock
211 * rw->lock -= RW_LOCK_BIAS_STR; <-- need atomic operation
212 * if (rw->lock == 0) break;
213 * rw->lock += RW_LOCK_BIAS_STR; <-- need atomic operation
214 * for ( ; rw->lock != RW_LOCK_BIAS_STR ; ) ;
247 : "r" (&rw->lock)
255 static inline void __raw_read_unlock(raw_rwlock_t *rw)
269 : "r" (&rw->lock)
277 static inline void __raw_write_unlock(raw_rwlock_t *rw)
293 : "r" (&rw->lock)