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 static void
2 rcu_process_gp_e...
...ed_snap;
18 }
19 local_irq_restore(flags);
20 }\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-02-12