Lines Matching refs:sem
42 ___down_read (struct rw_semaphore *sem) in ___down_read() argument
44 long result = ia64_fetchadd8_acq((unsigned long *)&sem->count.counter, 1); in ___down_read()
50 __down_read (struct rw_semaphore *sem) in __down_read() argument
52 if (___down_read(sem)) in __down_read()
53 rwsem_down_read_failed(sem); in __down_read()
57 __down_read_killable (struct rw_semaphore *sem) in __down_read_killable() argument
59 if (___down_read(sem)) in __down_read_killable()
60 if (IS_ERR(rwsem_down_read_failed_killable(sem))) in __down_read_killable()
70 ___down_write (struct rw_semaphore *sem) in ___down_write() argument
75 old = atomic_long_read(&sem->count); in ___down_write()
77 } while (atomic_long_cmpxchg_acquire(&sem->count, old, new) != old); in ___down_write()
83 __down_write (struct rw_semaphore *sem) in __down_write() argument
85 if (___down_write(sem)) in __down_write()
86 rwsem_down_write_failed(sem); in __down_write()
90 __down_write_killable (struct rw_semaphore *sem) in __down_write_killable() argument
92 if (___down_write(sem)) { in __down_write_killable()
93 if (IS_ERR(rwsem_down_write_failed_killable(sem))) in __down_write_killable()
104 __up_read (struct rw_semaphore *sem) in __up_read() argument
106 long result = ia64_fetchadd8_rel((unsigned long *)&sem->count.counter, -1); in __up_read()
109 rwsem_wake(sem); in __up_read()
116 __up_write (struct rw_semaphore *sem) in __up_write() argument
121 old = atomic_long_read(&sem->count); in __up_write()
123 } while (atomic_long_cmpxchg_release(&sem->count, old, new) != old); in __up_write()
126 rwsem_wake(sem); in __up_write()
133 __down_read_trylock (struct rw_semaphore *sem) in __down_read_trylock() argument
136 while ((tmp = atomic_long_read(&sem->count)) >= 0) { in __down_read_trylock()
137 if (tmp == atomic_long_cmpxchg_acquire(&sem->count, tmp, tmp+1)) { in __down_read_trylock()
148 __down_write_trylock (struct rw_semaphore *sem) in __down_write_trylock() argument
150 long tmp = atomic_long_cmpxchg_acquire(&sem->count, in __down_write_trylock()
159 __downgrade_write (struct rw_semaphore *sem) in __downgrade_write() argument
164 old = atomic_long_read(&sem->count); in __downgrade_write()
166 } while (atomic_long_cmpxchg_release(&sem->count, old, new) != old); in __downgrade_write()
169 rwsem_downgrade_wake(sem); in __downgrade_write()