Lines Matching +full:b +full:- +full:side
1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Read-Copy Update mechanism for mutual exclusion, adapted for tracing.
37 * rcu_read_lock_trace - mark beginning of RCU-trace read-side critical section
40 * task is guaranteed to block until all other tasks exit their read-side
42 * task while other tasks are within RCU read-side critical sections,
52 WRITE_ONCE(t->trc_reader_nesting, READ_ONCE(t->trc_reader_nesting) + 1); in rcu_read_lock_trace()
55 t->trc_reader_special.b.need_mb) in rcu_read_lock_trace()
56 smp_mb(); // Pairs with update-side barriers in rcu_read_lock_trace()
61 * rcu_read_unlock_trace - mark end of RCU-trace read-side critical section
75 nesting = READ_ONCE(t->trc_reader_nesting) - 1; in rcu_read_unlock_trace()
77 // Disable IPI-based setting of .need_qs. in rcu_read_unlock_trace()
78 WRITE_ONCE(t->trc_reader_nesting, INT_MIN + nesting); in rcu_read_unlock_trace()
79 if (likely(!READ_ONCE(t->trc_reader_special.s)) || nesting) { in rcu_read_unlock_trace()
80 WRITE_ONCE(t->trc_reader_nesting, nesting); in rcu_read_unlock_trace()