Lines Matching refs:synchronize_rcu
140 c. synchronize_rcu() / call_rcu()
146 express synchronize_rcu() in terms of the call_rcu() callback API.
174 synchronize_rcu()
176 void synchronize_rcu(void);
181 Note that synchronize_rcu() will **not** necessarily wait for
188 2. enters synchronize_rcu()
191 5. exits synchronize_rcu()
194 To reiterate, synchronize_rcu() waits only for ongoing RCU
196 any that begin after synchronize_rcu() is invoked.
198 Of course, synchronize_rcu() does not necessarily return
203 further delay synchronize_rcu().
205 Since synchronize_rcu() is the API that must figure out when
208 synchronize_rcu()'s overhead must also be quite small.
210 The call_rcu() API is a callback form of synchronize_rcu(),
219 of the synchronize_rcu() API generally results in simpler code.
220 In addition, the synchronize_rcu() API has the nice property
351 synchronize_rcu() & call_rcu()
355 rcu_read_unlock(), synchronize_rcu(), and call_rcu() invocations in
356 order to determine when (1) synchronize_rcu() invocations may return
363 synchronize_rcu() and call_rcu() primitives used are the same for all three
422 * Uses synchronize_rcu() to ensure that any readers that might
438 synchronize_rcu();
477 - Use synchronize_rcu() **after** removing a data element from an
497 In such cases, one uses call_rcu() rather than synchronize_rcu().
567 that we are now using call_rcu() rather than synchronize_rcu():
632 void synchronize_rcu(void)
656 and release a global reader-writer lock. The synchronize_rcu()
658 that once synchronize_rcu() exits, all RCU read-side critical sections
659 that were in progress before synchronize_rcu() was called are guaranteed
660 to have completed -- there is no way that synchronize_rcu() would have
662 promotes synchronize_rcu() to a full memory barrier in compliance with
670 that the only thing that can block rcu_read_lock() is a synchronize_rcu().
671 But synchronize_rcu() does not acquire any locks while holding rcu_gp_mutex,
696 void synchronize_rcu(void)
710 The implementation of synchronize_rcu() simply schedules itself on each
726 synchronize_rcu(). Once synchronize_rcu() returns, we are guaranteed
797 + synchronize_rcu();
849 10 synchronize_rcu();
860 a reader-writer lock to a simple spinlock, and a synchronize_rcu()
869 Also, the presence of synchronize_rcu() means that the RCU version of
872 be used in place of synchronize_rcu().
937 rcu_read_unlock synchronize_rcu
948 rcu_read_unlock_bh synchronize_rcu
961 rcu_read_unlock_sched synchronize_rcu
1057 2. CPU 1 enters synchronize_rcu(), write-acquiring
1077 readers through synchronize_rcu(). To see this,
1088 cannot be blocked by tasks executing synchronize_rcu().