Lines Matching refs:rw_semaphore
35 struct rw_semaphore { struct
57 static inline int rwsem_is_locked(struct rw_semaphore *sem) in rwsem_is_locked() argument
99 struct rw_semaphore name = __RWSEM_INITIALIZER(name)
101 extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
117 static inline int rwsem_is_contended(struct rw_semaphore *sem) in rwsem_is_contended()
125 extern void down_read(struct rw_semaphore *sem);
126 extern int __must_check down_read_killable(struct rw_semaphore *sem);
131 extern int down_read_trylock(struct rw_semaphore *sem);
136 extern void down_write(struct rw_semaphore *sem);
137 extern int __must_check down_write_killable(struct rw_semaphore *sem);
142 extern int down_write_trylock(struct rw_semaphore *sem);
147 extern void up_read(struct rw_semaphore *sem);
152 extern void up_write(struct rw_semaphore *sem);
157 extern void downgrade_write(struct rw_semaphore *sem);
173 extern void down_read_nested(struct rw_semaphore *sem, int subclass);
174 extern void down_write_nested(struct rw_semaphore *sem, int subclass);
175 extern int down_write_killable_nested(struct rw_semaphore *sem, int subclass);
176 extern void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest_lock);
190 extern void down_read_non_owner(struct rw_semaphore *sem);
191 extern void up_read_non_owner(struct rw_semaphore *sem);