percpu_rw_semaphore
struct percpu_rw_semaphore proto_lock; /* Stop work for proto close */
struct percpu_rw_semaphore s_writepages_rwsem;
extern struct percpu_rw_semaphore cgroup_threadgroup_rwsem;
struct percpu_rw_semaphore rw_sem[SB_FREEZE_LEVELS];
static inline void percpu_up_read(struct percpu_rw_semaphore *sem)
extern bool percpu_is_read_locked(struct percpu_rw_semaphore *);
extern void percpu_down_write(struct percpu_rw_semaphore *);
extern void percpu_up_write(struct percpu_rw_semaphore *);
DEFINE_GUARD(percpu_read, struct percpu_rw_semaphore *,
DEFINE_GUARD(percpu_write, struct percpu_rw_semaphore *,
static inline bool percpu_is_write_locked(struct percpu_rw_semaphore *sem)
extern int __percpu_init_rwsem(struct percpu_rw_semaphore *,
extern void percpu_free_rwsem(struct percpu_rw_semaphore *);
static inline void percpu_rwsem_release(struct percpu_rw_semaphore *sem,
static inline void percpu_rwsem_acquire(struct percpu_rw_semaphore *sem,
is_static struct percpu_rw_semaphore name = { \
extern bool __percpu_down_read(struct percpu_rw_semaphore *, bool, bool);
static inline void percpu_down_read_internal(struct percpu_rw_semaphore *sem,
static inline void percpu_down_read(struct percpu_rw_semaphore *sem)
static inline void percpu_down_read_freezable(struct percpu_rw_semaphore *sem,
static inline bool percpu_down_read_trylock(struct percpu_rw_semaphore *sem)
static struct percpu_rw_semaphore pcpu_rwsem;
struct percpu_rw_semaphore *sem = key;
int __percpu_init_rwsem(struct percpu_rw_semaphore *sem,
static void percpu_rwsem_wait(struct percpu_rw_semaphore *sem, bool reader,
bool __sched __percpu_down_read(struct percpu_rw_semaphore *sem, bool try,
bool percpu_is_read_locked(struct percpu_rw_semaphore *sem)
static bool readers_active_check(struct percpu_rw_semaphore *sem)
void __sched percpu_down_write(struct percpu_rw_semaphore *sem)
void percpu_up_write(struct percpu_rw_semaphore *sem)
void percpu_free_rwsem(struct percpu_rw_semaphore *sem)
static bool __percpu_down_read_trylock(struct percpu_rw_semaphore *sem)
static inline bool __percpu_down_write_trylock(struct percpu_rw_semaphore *sem)
static bool __percpu_rwsem_trylock(struct percpu_rw_semaphore *sem, bool reader)