rcu: Define RCU-bh update API in terms of RCU
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sun, 1 Jul 2018 14:40:52 +0000 (07:40 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 30 Aug 2018 23:02:40 +0000 (16:02 -0700)
commit65cfe3583b612a22e12fba9a7bbd2d37ca5ad941
tree66dcbed4b0f96f008ffdacd63f717ca4653f6b02
parentba1c64c27239373be1b3d88cf0a9ac1b10fa871f
rcu: Define RCU-bh update API in terms of RCU

Now that the main RCU API knows about softirq disabling and softirq's
quiescent states, the RCU-bh update code can be dispensed with.
This commit therefore removes the RCU-bh update-side implementation and
defines RCU-bh's update-side API in terms of that of either RCU-preempt or
RCU-sched, depending on the setting of the CONFIG_PREEMPT Kconfig option.

In kernels built with CONFIG_RCU_NOCB_CPU=y this has the knock-on effect
of reducing by one the number of rcuo kthreads per CPU.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
include/linux/rcupdate.h
include/linux/rcutiny.h
include/linux/rcutree.h
kernel/rcu/tiny.c
kernel/rcu/tree.c
kernel/rcu/tree_plugin.h
kernel/softirq.c