rcu: Document RCU_NONIDLE() restrictions in comment header
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
parent
40e0a6cfd5
commit
810ce8b5df
|
@ -379,12 +379,13 @@ static inline void rcu_init_nohz(void)
|
|||
* in the inner idle loop.
|
||||
*
|
||||
* This macro provides the way out: RCU_NONIDLE(do_something_with_RCU())
|
||||
* will tell RCU that it needs to pay attending, invoke its argument
|
||||
* (in this example, a call to the do_something_with_RCU() function),
|
||||
* will tell RCU that it needs to pay attention, invoke its argument
|
||||
* (in this example, calling the do_something_with_RCU() function),
|
||||
* and then tell RCU to go back to ignoring this CPU. It is permissible
|
||||
* to nest RCU_NONIDLE() wrappers, but the nesting level is currently
|
||||
* quite limited. If deeper nesting is required, it will be necessary
|
||||
* to adjust DYNTICK_TASK_NESTING_VALUE accordingly.
|
||||
* to nest RCU_NONIDLE() wrappers, but not indefinitely (but the limit is
|
||||
* on the order of a million or so, even on 32-bit systems). It is
|
||||
* not legal to block within RCU_NONIDLE(), nor is it permissible to
|
||||
* transfer control either into or out of RCU_NONIDLE()'s statement.
|
||||
*/
|
||||
#define RCU_NONIDLE(a) \
|
||||
do { \
|
||||
|
|
Loading…
Reference in New Issue