Lines Matching refs:rw_semaphore
35 struct rw_semaphore { struct
63 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()
127 extern void down_read(struct rw_semaphore *sem);
128 extern int __must_check down_read_killable(struct rw_semaphore *sem);
133 extern int down_read_trylock(struct rw_semaphore *sem);
138 extern void down_write(struct rw_semaphore *sem);
139 extern int __must_check down_write_killable(struct rw_semaphore *sem);
144 extern int down_write_trylock(struct rw_semaphore *sem);
149 extern void up_read(struct rw_semaphore *sem);
154 extern void up_write(struct rw_semaphore *sem);
159 extern void downgrade_write(struct rw_semaphore *sem);
175 extern void down_read_nested(struct rw_semaphore *sem, int subclass);
176 extern void down_write_nested(struct rw_semaphore *sem, int subclass);
177 extern int down_write_killable_nested(struct rw_semaphore *sem, int subclass);
178 extern void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest_lock);
192 extern void down_read_non_owner(struct rw_semaphore *sem);
193 extern void up_read_non_owner(struct rw_semaphore *sem);