Lines Matching refs:rw_semaphore
21 struct rw_semaphore;
27 struct rw_semaphore { struct
44 extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem); argument
45 extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
46 extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *);
47 extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
53 static inline int rwsem_is_locked(struct rw_semaphore *sem) in rwsem_is_locked()
82 struct rw_semaphore name = __RWSEM_INITIALIZER(name)
84 extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
100 static inline int rwsem_is_contended(struct rw_semaphore *sem) in rwsem_is_contended()
108 extern void down_read(struct rw_semaphore *sem);
113 extern int down_read_trylock(struct rw_semaphore *sem);
118 extern void down_write(struct rw_semaphore *sem);
123 extern int down_write_trylock(struct rw_semaphore *sem);
128 extern void up_read(struct rw_semaphore *sem);
133 extern void up_write(struct rw_semaphore *sem);
138 extern void downgrade_write(struct rw_semaphore *sem);
154 extern void down_read_nested(struct rw_semaphore *sem, int subclass);
155 extern void down_write_nested(struct rw_semaphore *sem, int subclass);
156 extern void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest_lock);
170 extern void down_read_non_owner(struct rw_semaphore *sem);
171 extern void up_read_non_owner(struct rw_semaphore *sem);