Lines Matching refs:rw_semaphore
48 struct rw_semaphore { struct
70 static inline int rwsem_is_locked(struct rw_semaphore *sem) in rwsem_is_locked() argument
102 struct rw_semaphore name = __RWSEM_INITIALIZER(name)
104 extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
120 static inline int rwsem_is_contended(struct rw_semaphore *sem) in rwsem_is_contended()
129 struct rw_semaphore { struct
143 struct rw_semaphore lockname = __RWSEM_INITIALIZER(lockname) argument
145 extern void __init_rwsem(struct rw_semaphore *rwsem, const char *name,
155 static __always_inline int rwsem_is_locked(struct rw_semaphore *sem) in rwsem_is_locked()
160 static __always_inline int rwsem_is_contended(struct rw_semaphore *sem) in rwsem_is_contended()
175 extern void down_read(struct rw_semaphore *sem);
176 extern int __must_check down_read_interruptible(struct rw_semaphore *sem);
177 extern int __must_check down_read_killable(struct rw_semaphore *sem);
182 extern int down_read_trylock(struct rw_semaphore *sem);
187 extern void down_write(struct rw_semaphore *sem);
188 extern int __must_check down_write_killable(struct rw_semaphore *sem);
193 extern int down_write_trylock(struct rw_semaphore *sem);
198 extern void up_read(struct rw_semaphore *sem);
203 extern void up_write(struct rw_semaphore *sem);
208 extern void downgrade_write(struct rw_semaphore *sem);
224 extern void down_read_nested(struct rw_semaphore *sem, int subclass);
225 extern int __must_check down_read_killable_nested(struct rw_semaphore *sem, int subclass);
226 extern void down_write_nested(struct rw_semaphore *sem, int subclass);
227 extern int down_write_killable_nested(struct rw_semaphore *sem, int subclass);
228 extern void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest_lock);
242 extern void down_read_non_owner(struct rw_semaphore *sem);
243 extern void up_read_non_owner(struct rw_semaphore *sem);