summaryrefslogtreecommitdiffstats
path: root/kernel/rcu/update.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-02-08 21:36:42 +0100
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-04-18 20:38:18 +0200
commit15fecf89e46a962ccda583d919e25d9da7bf0723 (patch)
tree7ca067833f685d989ecfd3dcdce3fca9ecc40f31 /kernel/rcu/update.c
parentrcu: Default RCU_FANOUT_LEAF to 16 unless explicitly changed (diff)
downloadlinux-15fecf89e46a962ccda583d919e25d9da7bf0723.tar.xz
linux-15fecf89e46a962ccda583d919e25d9da7bf0723.zip
srcu: Abstract multi-tail callback list handling
RCU has only one multi-tail callback list, which is implemented via the nxtlist, nxttail, nxtcompleted, qlen_lazy, and qlen fields in the rcu_data structure, and whose operations are open-code throughout the Tree RCU implementation. This has been more or less OK in the past, but upcoming callback-list optimizations in SRCU could really use a multi-tail callback list there as well. This commit therefore abstracts the multi-tail callback list handling into a new kernel/rcu/rcu_segcblist.h file, and uses this new API. The simple head-and-tail pointer callback list is also abstracted and applied everywhere except for the NOCB callback-offload lists. (Yes, the plan is to apply them there as well, but this commit is already bigger than would be good.) Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions