From: Paul E. McKenney Date: Thu, 31 Mar 2016 18:00:08 +0000 (-0700) Subject: documentation: Emphasize the call_rcu() is illegal from idle X-Git-Tag: Ubuntu-4.8.0-22.24~1330^2^2~2 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=0c7d10e4b998b2f751cebf98435f1ec2dd312c87;p=mirror_ubuntu-zesty-kernel.git documentation: Emphasize the call_rcu() is illegal from idle Although call_rcu()'s fastpath works just fine on an idle CPU, some branches of the slowpath invoke the scheduler, which uses RCU. Therefore, this commit emphasizes the fact that call_rcu() must not be invoked from an idle CPU. Signed-off-by: Paul E. McKenney --- diff --git a/Documentation/RCU/Design/Requirements/Requirements.html b/Documentation/RCU/Design/Requirements/Requirements.html index 85cf2238fd08..e7e24b3e86e2 100644 --- a/Documentation/RCU/Design/Requirements/Requirements.html +++ b/Documentation/RCU/Design/Requirements/Requirements.html @@ -1650,7 +1650,7 @@ situations where neither synchronize_rcu() nor including within preempt-disable code, local_bh_disable() code, interrupt-disable code, and interrupt handlers. However, even call_rcu() is illegal within NMI handlers -and from offline CPUs. +and from idle and offline CPUs. The callback function (remove_gp_cb() in this case) will be executed within softirq (software interrupt) environment within the Linux kernel,