summaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
authorPaul E. McKenney2015-06-10 21:53:06 +0200
committerPaul E. McKenney2015-07-23 00:27:29 +0200
commitec90a194ae2cb8b8e9fe4f6f70dd3d4dc0269b4b (patch)
tree1e2bb8b96f070c665fed9d6785b5aaffbe25f655 /kernel/rcu/tree.c
parentrcu: Fix obsolete priority-boosting comment (diff)
downloadkernel-qcow2-linux-ec90a194ae2cb8b8e9fe4f6f70dd3d4dc0269b4b.tar.gz
kernel-qcow2-linux-ec90a194ae2cb8b8e9fe4f6f70dd3d4dc0269b4b.tar.xz
kernel-qcow2-linux-ec90a194ae2cb8b8e9fe4f6f70dd3d4dc0269b4b.zip
rcu: Create a synchronize_rcu_mult()
There have been several requests for a primitive that waits for grace periods for several RCU flavors concurrently, so this commit creates it. This is a variadic macro, and you pass in the call_rcu() functions of the flavors of RCU that you wish to wait for. Note that you cannot pass in call_srcu() for two reasons: (1) This would result in a type mismatch and (2) You need to specify which srcu_struct you want to use. Handle this by creating a wrapper function for your SRCU domain, for example: void call_srcu_mine(struct rcu_head *head, rcu_callback_t func) { call_srcu(&ss_mine, head, func); } You can then do something like this: synchronize_rcu_mult(call_srcu_mine, call_rcu, call_rcu_sched); Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.c')
0 files changed, 0 insertions, 0 deletions