Lines Matching refs:rw_semaphore
48 struct rw_semaphore { struct
73 static inline int rwsem_is_locked(struct rw_semaphore *sem) in rwsem_is_locked() argument
78 static inline void rwsem_assert_held_nolockdep(const struct rw_semaphore *sem) in rwsem_assert_held_nolockdep()
83 static inline void rwsem_assert_held_write_nolockdep(const struct rw_semaphore *sem) in rwsem_assert_held_write_nolockdep()
112 struct rw_semaphore name = __RWSEM_INITIALIZER(name)
114 extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
130 static inline int rwsem_is_contended(struct rw_semaphore *sem) in rwsem_is_contended()
139 struct rw_semaphore { struct
153 struct rw_semaphore lockname = __RWSEM_INITIALIZER(lockname) argument
155 extern void __init_rwsem(struct rw_semaphore *rwsem, const char *name,
165 static __always_inline int rwsem_is_locked(const struct rw_semaphore *sem) in rwsem_is_locked()
170 static __always_inline void rwsem_assert_held_nolockdep(const struct rw_semaphore *sem) in rwsem_assert_held_nolockdep()
175 static __always_inline void rwsem_assert_held_write_nolockdep(const struct rw_semaphore *sem) in rwsem_assert_held_write_nolockdep()
180 static __always_inline int rwsem_is_contended(struct rw_semaphore *sem) in rwsem_is_contended()
192 static inline void rwsem_assert_held(const struct rw_semaphore *sem) in rwsem_assert_held()
200 static inline void rwsem_assert_held_write(const struct rw_semaphore *sem) in rwsem_assert_held_write()
211 extern void down_read(struct rw_semaphore *sem);
212 extern int __must_check down_read_interruptible(struct rw_semaphore *sem);
213 extern int __must_check down_read_killable(struct rw_semaphore *sem);
218 extern int down_read_trylock(struct rw_semaphore *sem);
223 extern void down_write(struct rw_semaphore *sem);
224 extern int __must_check down_write_killable(struct rw_semaphore *sem);
229 extern int down_write_trylock(struct rw_semaphore *sem);
234 extern void up_read(struct rw_semaphore *sem);
239 extern void up_write(struct rw_semaphore *sem);
241 DEFINE_GUARD(rwsem_read, struct rw_semaphore *, down_read(_T), up_read(_T))
245 DEFINE_GUARD(rwsem_write, struct rw_semaphore *, down_write(_T), up_write(_T))
251 extern void downgrade_write(struct rw_semaphore *sem);
267 extern void down_read_nested(struct rw_semaphore *sem, int subclass);
268 extern int __must_check down_read_killable_nested(struct rw_semaphore *sem, int subclass);
269 extern void down_write_nested(struct rw_semaphore *sem, int subclass);
270 extern int down_write_killable_nested(struct rw_semaphore *sem, int subclass);
271 extern void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest_lock);
285 extern void down_read_non_owner(struct rw_semaphore *sem);
286 extern void up_read_non_owner(struct rw_semaphore *sem);