]> git.baikalelectronics.ru Git - kernel.git/commit
srcu: Exact tracking of srcu_data structures containing callbacks
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 18 Apr 2017 23:01:46 +0000 (16:01 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 26 Apr 2017 18:23:12 +0000 (11:23 -0700)
commit6c8d7464a7708d2b2c257eac271b23d55cd030a2
tree4625614c62fe99fd72292cb9c0e60f2f2ff23b2c
parent3c2cc727473b18821b186c51ff8f6b36eda5685d
srcu: Exact tracking of srcu_data structures containing callbacks

The current Tree SRCU implementation schedules a workqueue for every
srcu_data covered by a given leaf srcu_node structure having callbacks,
even if only one of those srcu_data structures actually contains
callbacks.  This is clearly inefficient for workloads that don't feature
callbacks everywhere all the time.  This commit therefore adds an array
of masks that are used by the leaf srcu_node structures to track exactly
which srcu_data structures contain callbacks.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Mike Galbraith <efault@gmx.de>
include/linux/srcutree.h
kernel/rcu/srcutree.c