diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-02-08 12:36:42 -0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-04-18 11:38:18 -0700 |
commit | 15fecf89e46a962ccda583d919e25d9da7bf0723 (patch) | |
tree | 7ca067833f685d989ecfd3dcdce3fca9ecc40f31 /kernel/rcu/update.c | |
parent | b8c78d3afc6aac1c722af3bec18959c6bd93231c (diff) | |
download | lwn-15fecf89e46a962ccda583d919e25d9da7bf0723.tar.gz lwn-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 'kernel/rcu/update.c')
0 files changed, 0 insertions, 0 deletions