]> git.baikalelectronics.ru Git - kernel.git/commit
rcu: Prevent RCU callbacks from executing before scheduler initialized
authorPaul E. McKenney <paul.mckenney@linaro.org>
Sun, 10 Jul 2011 22:57:35 +0000 (15:57 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 13 Jul 2011 15:17:56 +0000 (08:17 -0700)
commit3a19198deaa59085657312528e0e6100d0dd69ec
tree882123e565ced895910490514f6e676c708b5001
parent42630bfbbb3b46e6948836135f09efc9bdeaaf03
rcu: Prevent RCU callbacks from executing before scheduler initialized

Under some rare but real combinations of configuration parameters, RCU
callbacks are posted during early boot that use kernel facilities that
are not yet initialized.  Therefore, when these callbacks are invoked,
hard hangs and crashes ensue.  This commit therefore prevents RCU
callbacks from being invoked until after the scheduler is fully up and
running, as in after multiple tasks have been spawned.

It might well turn out that a better approach is to identify the specific
RCU callbacks that are causing this problem, but that discussion will
wait until such time as someone really needs an RCU callback to be invoked
(as opposed to merely registered) during early boot.

Reported-by: julie Sullivan <kernelmail.jms@gmail.com>
Reported-by: RKK <kulkarni.ravi4@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: julie Sullivan <kernelmail.jms@gmail.com>
Tested-by: RKK <kulkarni.ravi4@gmail.com>
kernel/rcutree.c
kernel/rcutree_plugin.h