rcu: Localize rcu_state ->orphan_pend and ->orphan_done
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 27 Jun 2017 14:44:06 +0000 (07:44 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 25 Jul 2017 20:04:49 +0000 (13:04 -0700)
commitf2dbe4a562d4f17cc1bad3e36a9d1ccb19c86604
treead3875857f1d0e0bdc890ad04afd53259e8e2a05
parent21cc248384aeb0375b3cac164c276c78c503291a
rcu: Localize rcu_state ->orphan_pend and ->orphan_done

Given that the rcu_state structure's >orphan_pend and ->orphan_done
fields are used only during migration of callbacks from the recently
offlined CPU to a surviving CPU, if rcu_send_cbs_to_orphanage() and
rcu_adopt_orphan_cbs() are combined, these fields can become local
variables in the combined function.  This commit therefore combines
rcu_send_cbs_to_orphanage() and rcu_adopt_orphan_cbs() into a new
rcu_segcblist_merge() function and removes the ->orphan_pend and
->orphan_done fields.

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