Lines Matching full:ssp

28 int __init_srcu_struct(struct srcu_struct *ssp, const char *name,
31 #define init_srcu_struct(ssp) \ argument
35 __init_srcu_struct((ssp), #ssp, &__srcu_key); \
41 int init_srcu_struct(struct srcu_struct *ssp);
57 void call_srcu(struct srcu_struct *ssp, struct rcu_head *head,
59 void cleanup_srcu_struct(struct srcu_struct *ssp);
60 int __srcu_read_lock(struct srcu_struct *ssp) __acquires(ssp);
61 void __srcu_read_unlock(struct srcu_struct *ssp, int idx) __releases(ssp);
62 void synchronize_srcu(struct srcu_struct *ssp);
63 unsigned long get_state_synchronize_srcu(struct srcu_struct *ssp);
64 unsigned long start_poll_synchronize_srcu(struct srcu_struct *ssp);
65 bool poll_state_synchronize_srcu(struct srcu_struct *ssp, unsigned long cookie);
71 * @ssp: The srcu_struct structure to check
85 static inline int srcu_read_lock_held(const struct srcu_struct *ssp) in srcu_read_lock_held() argument
89 return lock_is_held(&ssp->dep_map); in srcu_read_lock_held()
94 static inline int srcu_read_lock_held(const struct srcu_struct *ssp) in srcu_read_lock_held() argument
104 * @ssp: pointer to the srcu_struct, which is used to check that we
113 #define srcu_dereference_check(p, ssp, c) \ argument
114 __rcu_dereference_check((p), (c) || srcu_read_lock_held(ssp), __rcu)
119 * @ssp: pointer to the srcu_struct, which is used to check that we
126 #define srcu_dereference(p, ssp) srcu_dereference_check((p), (ssp), 0) argument
131 * @ssp: pointer to the srcu_struct, which is used to check that we
134 #define srcu_dereference_notrace(p, ssp) srcu_dereference_check((p), (ssp), 1) argument
138 * @ssp: srcu_struct in which to register the new reader.
153 static inline int srcu_read_lock(struct srcu_struct *ssp) __acquires(ssp) in srcu_read_lock() argument
157 retval = __srcu_read_lock(ssp); in srcu_read_lock()
158 rcu_lock_acquire(&(ssp)->dep_map); in srcu_read_lock()
164 srcu_read_lock_notrace(struct srcu_struct *ssp) __acquires(ssp) in srcu_read_lock_notrace() argument
168 retval = __srcu_read_lock(ssp); in srcu_read_lock_notrace()
174 * @ssp: srcu_struct in which to unregister the old reader.
179 static inline void srcu_read_unlock(struct srcu_struct *ssp, int idx) in srcu_read_unlock() argument
180 __releases(ssp) in srcu_read_unlock()
183 rcu_lock_release(&(ssp)->dep_map); in srcu_read_unlock()
184 __srcu_read_unlock(ssp, idx); in srcu_read_unlock()
189 srcu_read_unlock_notrace(struct srcu_struct *ssp, int idx) __releases(ssp) in srcu_read_unlock_notrace() argument
191 __srcu_read_unlock(ssp, idx); in srcu_read_unlock_notrace()