D.3.5 Miscellaneous Functions

This section describes the miscellaneous utility functions:

  1. rcu_batches_completed
  2. rcu_batches_completed_bh
  3. cpu_has_callbacks_ready_to_invoke
  4. cpu_needs_another_gp
  5. rcu_get_root

Figure: Miscellaneous Functions
\begin{figure}{ \scriptsize
\begin{verbatim}1 long rcu_batches_completed(void...
..._state *rsp)
28 {
29 return &rsp->node[0];
30 }\end{verbatim}
}\end{figure}

Figure [*] shows a number of miscellaneous functions. Lines 1-9 shown rcu_batches_completed() and rcu_batches_completed_bh(), which are used by the rcutorture test suite. Lines 11-15 show cpu_has_callbacks_ready_to_invoke(), which indicates whether the specified rcu_data structure has RCU callbacks that have passed through their grace period, which is indicated by the ``done'' tail pointer no longer pointing to the head of the list. Lines 17-24 show cpu_needs_another_gp(), which indicates whether the CPU corresponding to the specified rcu_data structure requires an additional grace period during a time when no grace period is in progress. Note that the specified rcu_data structure is required to be associated with the specified rcu_state structure. Finally, lines 26-30 show rcu_get_root(), which returns the root rcu_node structure associated with the specified rcu_state structure.



Paul E. McKenney 2011-12-16