1
0
Fork 0

documentation: Document illegality of call_rcu() from offline CPUs

There is already a blanket statement about no member of RCU's API
being legal from an offline CPU, but add an explicit note where it
states that it is illegal to invoke call_rcu() from an NMI handler.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
hifive-unleashed-5.1
Paul E. McKenney 2016-02-15 16:52:35 -08:00
parent d8936c0b7e
commit 514f1eb5f4
2 changed files with 4 additions and 2 deletions

View File

@ -1354,7 +1354,8 @@ situations where neither <tt>synchronize_rcu()</tt> nor
<tt>synchronize_rcu_expedited()</tt> would be legal,
including within preempt-disable code, <tt>local_bh_disable()</tt> code,
interrupt-disable code, and interrupt handlers.
However, even <tt>call_rcu()</tt> is illegal within NMI handlers.
However, even <tt>call_rcu()</tt> is illegal within NMI handlers
and from offline CPUs.
The callback function (<tt>remove_gp_cb()</tt> in this case) will be
executed within softirq (software interrupt) environment within the
Linux kernel,

View File

@ -1513,7 +1513,8 @@ situations where neither <tt>synchronize_rcu()</tt> nor
<tt>synchronize_rcu_expedited()</tt> would be legal,
including within preempt-disable code, <tt>local_bh_disable()</tt> code,
interrupt-disable code, and interrupt handlers.
However, even <tt>call_rcu()</tt> is illegal within NMI handlers.
However, even <tt>call_rcu()</tt> is illegal within NMI handlers
and from offline CPUs.
The callback function (<tt>remove_gp_cb()</tt> in this case) will be
executed within softirq (software interrupt) environment within the
Linux kernel,