rcu: Defer rcu_tasks_kthread() creation till first call_rcu_tasks()
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 4 Aug 2014 14:24:21 +0000 (07:24 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sun, 7 Sep 2014 23:27:29 +0000 (16:27 -0700)
commit84a8f446ffd70c2799a96268aaa4d47c22a83ff0
tree61e32afc24cfa6b7c33bcef6148851035b4149e6
parent37fe5f0e2713608573c5df5e529e13a135625629
rcu: Defer rcu_tasks_kthread() creation till first call_rcu_tasks()

It is expected that many sites will have CONFIG_TASKS_RCU=y, but
will never actually invoke call_rcu_tasks().  For such sites, creating
rcu_tasks_kthread() at boot is wasteful.  This commit therefore defers
creation of this kthread until the time of the first call_rcu_tasks().

This of course means that the first call_rcu_tasks() must be invoked
from process context after the scheduler is fully operational.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/update.c