• Home
  • Raw
  • Download

Lines Matching refs:rw

79 static inline void arch_read_lock(arch_rwlock_t *rw)  in arch_read_lock()  argument
101 : [rwlock] "r" (&(rw->counter)), in arch_read_lock()
109 static inline int arch_read_trylock(arch_rwlock_t *rw) in arch_read_trylock() argument
125 : [rwlock] "r" (&(rw->counter)), in arch_read_trylock()
134 static inline void arch_write_lock(arch_rwlock_t *rw) in arch_write_lock() argument
158 : [rwlock] "r" (&(rw->counter)), in arch_write_lock()
167 static inline int arch_write_trylock(arch_rwlock_t *rw) in arch_write_trylock() argument
183 : [rwlock] "r" (&(rw->counter)), in arch_write_trylock()
193 static inline void arch_read_unlock(arch_rwlock_t *rw) in arch_read_unlock() argument
209 : [rwlock] "r" (&(rw->counter)) in arch_read_unlock()
213 static inline void arch_write_unlock(arch_rwlock_t *rw) in arch_write_unlock() argument
217 WRITE_ONCE(rw->counter, __ARCH_RW_LOCK_UNLOCKED__); in arch_write_unlock()
304 static inline int arch_read_trylock(arch_rwlock_t *rw) in arch_read_trylock() argument
310 arch_spin_lock(&(rw->lock_mutex)); in arch_read_trylock()
316 if (rw->counter > 0) { in arch_read_trylock()
317 rw->counter--; in arch_read_trylock()
321 arch_spin_unlock(&(rw->lock_mutex)); in arch_read_trylock()
328 static inline int arch_write_trylock(arch_rwlock_t *rw) in arch_write_trylock() argument
334 arch_spin_lock(&(rw->lock_mutex)); in arch_write_trylock()
342 if (rw->counter == __ARCH_RW_LOCK_UNLOCKED__) { in arch_write_trylock()
343 rw->counter = 0; in arch_write_trylock()
346 arch_spin_unlock(&(rw->lock_mutex)); in arch_write_trylock()
352 static inline void arch_read_lock(arch_rwlock_t *rw) in arch_read_lock() argument
354 while (!arch_read_trylock(rw)) in arch_read_lock()
358 static inline void arch_write_lock(arch_rwlock_t *rw) in arch_write_lock() argument
360 while (!arch_write_trylock(rw)) in arch_write_lock()
364 static inline void arch_read_unlock(arch_rwlock_t *rw) in arch_read_unlock() argument
369 arch_spin_lock(&(rw->lock_mutex)); in arch_read_unlock()
370 rw->counter++; in arch_read_unlock()
371 arch_spin_unlock(&(rw->lock_mutex)); in arch_read_unlock()
375 static inline void arch_write_unlock(arch_rwlock_t *rw) in arch_write_unlock() argument
380 arch_spin_lock(&(rw->lock_mutex)); in arch_write_unlock()
381 rw->counter = __ARCH_RW_LOCK_UNLOCKED__; in arch_write_unlock()
382 arch_spin_unlock(&(rw->lock_mutex)); in arch_write_unlock()