Lines Matching refs:rw_semaphore
47 struct rw_semaphore { struct
69 static inline int rwsem_is_locked(struct rw_semaphore *sem) in rwsem_is_locked() argument
101 struct rw_semaphore name = __RWSEM_INITIALIZER(name)
103 extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
119 static inline int rwsem_is_contended(struct rw_semaphore *sem) in rwsem_is_contended()
128 struct rw_semaphore { struct
142 struct rw_semaphore lockname = __RWSEM_INITIALIZER(lockname) argument
144 extern void __init_rwsem(struct rw_semaphore *rwsem, const char *name,
154 static __always_inline int rwsem_is_locked(struct rw_semaphore *sem) in rwsem_is_locked()
159 static __always_inline int rwsem_is_contended(struct rw_semaphore *sem) in rwsem_is_contended()
174 extern void down_read(struct rw_semaphore *sem);
175 extern int __must_check down_read_interruptible(struct rw_semaphore *sem);
176 extern int __must_check down_read_killable(struct rw_semaphore *sem);
181 extern int down_read_trylock(struct rw_semaphore *sem);
186 extern void down_write(struct rw_semaphore *sem);
187 extern int __must_check down_write_killable(struct rw_semaphore *sem);
192 extern int down_write_trylock(struct rw_semaphore *sem);
197 extern void up_read(struct rw_semaphore *sem);
202 extern void up_write(struct rw_semaphore *sem);
207 extern void downgrade_write(struct rw_semaphore *sem);
223 extern void down_read_nested(struct rw_semaphore *sem, int subclass);
224 extern int __must_check down_read_killable_nested(struct rw_semaphore *sem, int subclass);
225 extern void down_write_nested(struct rw_semaphore *sem, int subclass);
226 extern int down_write_killable_nested(struct rw_semaphore *sem, int subclass);
227 extern void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest_lock);
241 extern void down_read_non_owner(struct rw_semaphore *sem);
242 extern void up_read_non_owner(struct rw_semaphore *sem);