Lines Matching refs:synchronize_rcu
126 c. synchronize_rcu() / call_rcu()
132 express synchronize_rcu() in terms of the call_rcu() callback API.
160 synchronize_rcu()
162 void synchronize_rcu(void);
167 Note that synchronize_rcu() will -not- necessarily wait for
174 2. enters synchronize_rcu()
177 5. exits synchronize_rcu()
180 To reiterate, synchronize_rcu() waits only for ongoing RCU
182 any that begin after synchronize_rcu() is invoked.
184 Of course, synchronize_rcu() does not necessarily return
189 further delay synchronize_rcu().
191 Since synchronize_rcu() is the API that must figure out when
194 synchronize_rcu()'s overhead must also be quite small.
196 The call_rcu() API is a callback form of synchronize_rcu(),
205 of the synchronize_rcu() API generally results in simpler code.
206 In addition, the synchronize_rcu() API has the nice property
315 synchronize_rcu() & call_rcu()
319 rcu_read_unlock(), synchronize_rcu(), and call_rcu() invocations in
320 order to determine when (1) synchronize_rcu() invocations may return
333 a. synchronize_rcu() rcu_read_lock() / rcu_read_unlock()
383 * Uses synchronize_rcu() to ensure that any readers that might
399 synchronize_rcu();
438 o Use synchronize_rcu() -after- removing a data element from an
455 In such cases, one uses call_rcu() rather than synchronize_rcu().
525 that we are now using call_rcu() rather than synchronize_rcu():
588 void synchronize_rcu(void)
612 and release a global reader-writer lock. The synchronize_rcu()
614 that once synchronize_rcu() exits, all RCU read-side critical sections
615 that were in progress before synchronize_rcu() was called are guaranteed
616 to have completed -- there is no way that synchronize_rcu() would have
618 promotes synchronize_rcu() to a full memory barrier in compliance with
626 that the only thing that can block rcu_read_lock() is a synchronize_rcu().
627 But synchronize_rcu() does not acquire any locks while holding rcu_gp_mutex,
647 void synchronize_rcu(void)
661 The implementation of synchronize_rcu() simply schedules itself on each
677 synchronize_rcu(). Once synchronize_rcu() returns, we are guaranteed
735 + synchronize_rcu();
783 10 synchronize_rcu();
794 a reader-writer lock to a simple spinlock, and a synchronize_rcu()
803 Also, the presence of synchronize_rcu() means that the RCU version of
806 be used in place of synchronize_rcu().
862 rcu_read_unlock synchronize_rcu
968 2. CPU 1 enters synchronize_rcu(), write-acquiring
988 readers through synchronize_rcu(). To see this,
999 cannot be blocked by tasks executing synchronize_rcu().