srcu_struct
struct srcu_struct track_srcu;
struct srcu_struct srcu;
struct srcu_struct *ss)
struct srcu_struct hwctx_srcu;
struct srcu_struct ch_lock;
struct srcu_struct dev_lock;
struct srcu_struct qddev_lock;
struct srcu_struct *lock = res;
static int qaicm_srcu_init(struct drm_device *dev, struct srcu_struct *lock)
struct srcu_struct desc_srcu;
struct srcu_struct srcu;
extern struct srcu_struct kfd_processes_srcu;
struct srcu_struct backoff_srcu;
struct srcu_struct pt_irq_srcu;
static struct srcu_struct stm_source_srcu;
struct srcu_struct disassociate_srcu;
struct srcu_struct pq_srcu;
struct srcu_struct io_barrier;
struct srcu_struct srcu;
struct srcu_struct srcu;
struct srcu_struct srcu;
struct srcu_struct srcu;
struct srcu_struct srcu;
struct srcu_struct mpam_srcu;
extern struct srcu_struct mpam_srcu;
extern struct srcu_struct fsnotify_mark_srcu;
struct srcu_struct fsnotify_mark_srcu;
struct srcu_struct *srcu;
struct srcu_struct tags_srcu;
struct srcu_struct srcu; /* protects prog_list read-only access */
struct srcu_struct srcu;
struct srcu_struct irq_srcu;
struct srcu_struct **srcu_struct_ptrs;
struct srcu_struct srcu;
extern struct srcu_struct rcu_tasks_trace_srcu_struct;
unsigned long get_state_synchronize_srcu(struct srcu_struct *ssp);
unsigned long start_poll_synchronize_srcu(struct srcu_struct *ssp);
bool poll_state_synchronize_srcu(struct srcu_struct *ssp, unsigned long cookie);
int __srcu_read_lock_nmisafe(struct srcu_struct *ssp) __acquires_shared(ssp);
void __srcu_read_unlock_nmisafe(struct srcu_struct *ssp, int idx) __releases_shared(ssp);
static inline int __srcu_read_lock_nmisafe(struct srcu_struct *ssp)
static inline void __srcu_read_unlock_nmisafe(struct srcu_struct *ssp, int idx)
static inline int srcu_read_lock_held(const struct srcu_struct *ssp)
static inline int srcu_read_lock_held(const struct srcu_struct *ssp)
static inline void __srcu_read_lock_must_hold(const struct srcu_struct *ssp) __must_hold_shared(ssp) { }
context_lock_struct(srcu_struct, __reentrant_ctx_lock);
int __init_srcu_struct(struct srcu_struct *ssp, const char *name, struct lock_class_key *key);
static inline int srcu_read_lock(struct srcu_struct *ssp)
int __init_srcu_struct_fast(struct srcu_struct *ssp, const char *name, struct lock_class_key *key);
int __init_srcu_struct_fast_updown(struct srcu_struct *ssp, const char *name,
static inline struct srcu_ctr __percpu *srcu_read_lock_fast(struct srcu_struct *ssp) __acquires_shared(ssp)
static inline struct srcu_ctr __percpu *srcu_read_lock_fast_updown(struct srcu_struct *ssp)
static inline struct srcu_ctr __percpu *srcu_read_lock_fast_notrace(struct srcu_struct *ssp)
static inline struct srcu_ctr __percpu *srcu_down_read_fast(struct srcu_struct *ssp) __acquires_shared(ssp)
static inline int srcu_read_lock_nmisafe(struct srcu_struct *ssp)
srcu_read_lock_notrace(struct srcu_struct *ssp)
static inline int srcu_down_read(struct srcu_struct *ssp)
static inline void srcu_read_unlock(struct srcu_struct *ssp, int idx)
static inline void srcu_read_unlock_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
srcu_read_unlock_fast_updown(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp) __releases_shared(ssp)
static inline void srcu_read_unlock_fast_notrace(struct srcu_struct *ssp,
static inline void srcu_up_read_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
static inline void srcu_read_unlock_nmisafe(struct srcu_struct *ssp, int idx)
srcu_read_unlock_notrace(struct srcu_struct *ssp, int idx) __releases_shared(ssp)
static inline void srcu_up_read(struct srcu_struct *ssp, int idx)
int init_srcu_struct(struct srcu_struct *ssp);
int init_srcu_struct_fast(struct srcu_struct *ssp);
int init_srcu_struct_fast_updown(struct srcu_struct *ssp);
DEFINE_LOCK_GUARD_1(srcu, struct srcu_struct,
DECLARE_LOCK_GUARD_1_ATTRS(srcu, __acquires_shared(_T), __releases_shared(*(struct srcu_struct **)_T))
DEFINE_LOCK_GUARD_1(srcu_fast, struct srcu_struct,
DECLARE_LOCK_GUARD_1_ATTRS(srcu_fast, __acquires_shared(_T), __releases_shared(*(struct srcu_struct **)_T))
DEFINE_LOCK_GUARD_1(srcu_fast_notrace, struct srcu_struct,
DECLARE_LOCK_GUARD_1_ATTRS(srcu_fast_notrace, __acquires_shared(_T), __releases_shared(*(struct srcu_struct **)_T))
void __srcu_read_unlock(struct srcu_struct *ssp, int idx) __releases_shared(ssp);
void call_srcu(struct srcu_struct *ssp, struct rcu_head *head,
void cleanup_srcu_struct(struct srcu_struct *ssp);
void synchronize_srcu(struct srcu_struct *ssp);
static inline struct srcu_ctr __percpu *__srcu_read_lock_fast(struct srcu_struct *ssp)
static inline void __srcu_read_unlock_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
static inline struct srcu_ctr __percpu *__srcu_read_lock_fast_updown(struct srcu_struct *ssp)
void __srcu_read_unlock_fast_updown(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
static inline void synchronize_srcu_expedited(struct srcu_struct *ssp)
static inline void srcu_barrier(struct srcu_struct *ssp)
static inline void srcu_expedite_current(struct srcu_struct *ssp) { }
static inline void srcu_torture_stats_print(struct srcu_struct *ssp,
struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name, name)
static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name, name)
static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name, name)
static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name, name)
void synchronize_srcu(struct srcu_struct *ssp);
static inline int __srcu_read_lock(struct srcu_struct *ssp)
static inline bool __srcu_ptr_to_ctr(struct srcu_struct *ssp, struct srcu_ctr __percpu *scpp)
static inline struct srcu_ctr __percpu *__srcu_ctr_to_ptr(struct srcu_struct *ssp, int idx)
struct srcu_struct;
is_static struct srcu_struct name = __SRCU_STRUCT_INIT_MODULE(name, name##_srcu_usage, \
extern struct srcu_struct * const __srcu_struct_##name; \
struct srcu_struct * const __srcu_struct_##name \
is_static struct srcu_struct name = \
int __srcu_read_lock(struct srcu_struct *ssp) __acquires_shared(ssp);
void synchronize_srcu_expedited(struct srcu_struct *ssp);
void srcu_barrier(struct srcu_struct *ssp);
void srcu_expedite_current(struct srcu_struct *ssp);
void srcu_torture_stats_print(struct srcu_struct *ssp, char *tt, char *tf);
static inline bool __srcu_ptr_to_ctr(struct srcu_struct *ssp, struct srcu_ctr __percpu *scpp)
static inline struct srcu_ctr __percpu *__srcu_ctr_to_ptr(struct srcu_struct *ssp, int idx)
static inline struct srcu_ctr __percpu notrace *__srcu_read_lock_fast(struct srcu_struct *ssp)
__srcu_read_unlock_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
struct srcu_ctr __percpu notrace *__srcu_read_lock_fast_updown(struct srcu_struct *ssp)
__srcu_read_unlock_fast_updown(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
void __srcu_check_read_flavor(struct srcu_struct *ssp, int read_flavor);
static inline void srcu_check_read_flavor(struct srcu_struct *ssp, int read_flavor)
struct srcu_struct *ssp;
struct srcu_struct *srcu_ssp;
extern struct srcu_struct tracepoint_srcu;
struct srcu_struct srcu;
struct srcu_struct srcu;
struct srcu_struct srcu;
static struct srcu_struct pmus_srcu;
static inline void srcutorture_get_gp_data(struct srcu_struct *sp, int *flags,
void srcutorture_get_gp_data(struct srcu_struct *sp, int *flags,
static inline unsigned long srcu_batches_completed(struct srcu_struct *sp) { return 0; }
unsigned long srcu_batches_completed(struct srcu_struct *sp);
static struct srcu_struct *srcu_ctlp = &srcu_ctl_scale;
static struct srcu_struct srcud;
struct srcu_struct *srcus[] = { &srcu0, &srcu1, &srcu2, &srcu3, &srcu4,
static struct srcu_struct srcu_ctld;
static struct srcu_struct *srcu_ctlp = &srcu_ctl;
static struct srcu_struct *srcu_ctlp = &srcu_refctl_scale;
void __srcu_read_unlock(struct srcu_struct *ssp, int idx)
struct srcu_struct *ssp;
ssp = container_of(wp, struct srcu_struct, srcu_work);
struct srcu_struct *ssp;
ssp = container_of(irq_work, struct srcu_struct, srcu_irq_work);
static void srcu_gp_start_if_needed(struct srcu_struct *ssp)
void call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp,
void synchronize_srcu(struct srcu_struct *ssp)
unsigned long get_state_synchronize_srcu(struct srcu_struct *ssp)
unsigned long start_poll_synchronize_srcu(struct srcu_struct *ssp)
bool poll_state_synchronize_srcu(struct srcu_struct *ssp, unsigned long cookie)
static int init_srcu_struct_fields(struct srcu_struct *ssp)
struct srcu_struct *ssp;
struct srcu_struct, srcu_work.entry);
int __init_srcu_struct(struct srcu_struct *ssp, const char *name,
int init_srcu_struct(struct srcu_struct *ssp)
void cleanup_srcu_struct(struct srcu_struct *ssp)
static void srcu_funnel_exp_start(struct srcu_struct *ssp, struct srcu_node *snp,
static void srcu_funnel_gp_start(struct srcu_struct *ssp, struct srcu_data *sdp,
static bool try_check_zero(struct srcu_struct *ssp, int idx, int trycount)
static void srcu_flip(struct srcu_struct *ssp)
static bool srcu_should_expedite(struct srcu_struct *ssp)
static bool init_srcu_struct_nodes(struct srcu_struct *ssp, gfp_t gfp_flags)
static unsigned long srcu_gp_start_if_needed(struct srcu_struct *ssp,
static void __call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp,
void call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp,
static void __synchronize_srcu(struct srcu_struct *ssp, bool do_norm)
void synchronize_srcu_expedited(struct srcu_struct *ssp)
void synchronize_srcu(struct srcu_struct *ssp)
unsigned long get_state_synchronize_srcu(struct srcu_struct *ssp)
unsigned long start_poll_synchronize_srcu(struct srcu_struct *ssp)
bool poll_state_synchronize_srcu(struct srcu_struct *ssp, unsigned long cookie)
struct srcu_struct *ssp;
static void srcu_barrier_one_cpu(struct srcu_struct *ssp, struct srcu_data *sdp)
void srcu_barrier(struct srcu_struct *ssp)
void srcu_expedite_current(struct srcu_struct *ssp)
unsigned long srcu_batches_completed(struct srcu_struct *ssp)
static void srcu_advance_state(struct srcu_struct *ssp)
struct srcu_struct *ssp;
static void srcu_reschedule(struct srcu_struct *ssp, unsigned long delay)
struct srcu_struct *ssp;
struct srcu_struct *ssp;
void srcutorture_get_gp_data(struct srcu_struct *ssp, int *flags,
void srcu_torture_stats_print(struct srcu_struct *ssp, char *tt, char *tf)
static int init_srcu_struct_fields(struct srcu_struct *ssp, bool is_static)
struct srcu_struct *ssp;
struct srcu_struct **sspp = mod->srcu_struct_ptrs;
struct srcu_struct *ssp;
struct srcu_struct **sspp = mod->srcu_struct_ptrs;
__init_srcu_struct_common(struct srcu_struct *ssp, const char *name, struct lock_class_key *key)
int __init_srcu_struct(struct srcu_struct *ssp, const char *name, struct lock_class_key *key)
int __init_srcu_struct_fast(struct srcu_struct *ssp, const char *name, struct lock_class_key *key)
int __init_srcu_struct_fast_updown(struct srcu_struct *ssp, const char *name,
int init_srcu_struct(struct srcu_struct *ssp)
int init_srcu_struct_fast(struct srcu_struct *ssp)
int init_srcu_struct_fast_updown(struct srcu_struct *ssp)
static void __srcu_transition_to_big(struct srcu_struct *ssp)
static void srcu_transition_to_big(struct srcu_struct *ssp)
static void raw_spin_lock_irqsave_check_contention(struct srcu_struct *ssp)
struct srcu_struct *ssp = sdp->ssp;
static void raw_spin_lock_irqsave_ssp_contention(struct srcu_struct *ssp, unsigned long *flags)
static void check_init_srcu_struct(struct srcu_struct *ssp)
static bool srcu_gp_is_expedited(struct srcu_struct *ssp)
static bool srcu_readers_lock_idx(struct srcu_struct *ssp, int idx, bool gp, unsigned long unlocks)
static unsigned long srcu_readers_unlock_idx(struct srcu_struct *ssp, int idx, unsigned long *rdm)
static bool srcu_readers_active_idx_check(struct srcu_struct *ssp, int idx)
static bool srcu_readers_active(struct srcu_struct *ssp)
static unsigned long srcu_get_delay(struct srcu_struct *ssp)
void cleanup_srcu_struct(struct srcu_struct *ssp)
void __srcu_check_read_flavor(struct srcu_struct *ssp, int read_flavor)
static void srcu_reschedule(struct srcu_struct *ssp, unsigned long delay);
int __srcu_read_lock(struct srcu_struct *ssp)
void __srcu_read_unlock(struct srcu_struct *ssp, int idx)
int __srcu_read_lock_nmisafe(struct srcu_struct *ssp)
void __srcu_read_unlock_nmisafe(struct srcu_struct *ssp, int idx)
static void srcu_gp_start(struct srcu_struct *ssp)
static void init_srcu_struct_data(struct srcu_struct *ssp)
static void srcu_schedule_cbs_snp(struct srcu_struct *ssp, struct srcu_node *snp,
static void srcu_gp_end(struct srcu_struct *ssp)
struct srcu_struct srcu;
extern struct srcu_struct tomoyo_ss;