Lines Matching +full:a +full:- +full:side
1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Sleepable Read-Copy Update mechanism for mutual exclusion
11 * For detailed explanation of Read-Copy Update mechanism see -
83 * srcu_read_lock_held - might we be in SRCU read-side critical section?
87 * read-side critical section. In absence of CONFIG_DEBUG_LOCK_ALLOC,
88 * this assumes we are in an SRCU read-side critical section unless it can
102 return lock_is_held(&ssp->dep_map); in srcu_read_lock_held()
109 * srcu_lock_sync(), which is basically an empty *write*-side critical section,
113 /* Annotates a srcu_read_lock() */
119 /* Annotates a srcu_read_lock() */
125 /* Annotates a synchronize_srcu() */
157 * srcu_dereference_check - fetch SRCU-protected pointer for later dereferencing
160 * really are in an SRCU read-side critical section.
161 * @c: condition to check for update-side use
163 * If PROVE_RCU is enabled, invoking this outside of an RCU read-side
164 * critical section will result in an RCU-lockdep splat, unless @c evaluates
165 * to 1. The @c argument will normally be a logical expression containing
173 * srcu_dereference - fetch SRCU-protected pointer for later dereferencing
176 * really are in an SRCU read-side critical section.
179 * is enabled, invoking this outside of an RCU read-side critical
180 * section will result in an RCU-lockdep splat.
185 * srcu_dereference_notrace - no tracing and no lockdep calls from here
188 * really are in an SRCU read-side critical section.
193 * srcu_read_lock - register a new reader for an SRCU-protected structure.
196 * Enter an SRCU read-side critical section. Note that SRCU read-side
201 * a mutex that is held elsewhere while calling synchronize_srcu() or
215 srcu_lock_acquire(&ssp->dep_map); in srcu_read_lock()
220 * srcu_read_lock_nmisafe - register a new reader for an SRCU-protected structure.
223 * Enter an SRCU read-side critical section, but in an NMI-safe manner.
232 rcu_try_lock_acquire(&ssp->dep_map); in srcu_read_lock_nmisafe()
248 * srcu_down_read - register a new reader for an SRCU-protected structure.
251 * Enter a semaphore-like SRCU read-side critical section. Note that
252 * SRCU read-side critical sections may be nested. However, it is
256 * a mutex that is held elsewhere while calling synchronize_srcu() or
260 * The semaphore-like nature of srcu_down_read() means that the matching
276 * srcu_read_unlock - unregister a old reader from an SRCU-protected structure.
280 * Exit an SRCU read-side critical section.
287 srcu_lock_release(&ssp->dep_map); in srcu_read_unlock()
292 * srcu_read_unlock_nmisafe - unregister a old reader from an SRCU-protected structure.
296 * Exit an SRCU read-side critical section, but in an NMI-safe manner.
303 rcu_lock_release(&ssp->dep_map); in srcu_read_unlock_nmisafe()
316 * srcu_up_read - unregister a old reader from an SRCU-protected structure.
320 * Exit an SRCU read-side critical section, but not necessarily from
333 * smp_mb__after_srcu_read_unlock - ensure full ordering after srcu_read_unlock
335 * Converts the preceding srcu_read_unlock into a two-way memory barrier.
347 _T->idx = srcu_read_lock(_T->lock),
348 srcu_read_unlock(_T->lock, _T->idx),