]> git.karo-electronics.de Git - karo-tx-linux.git/commit
rcu_sync: Simplify rcu_sync using new rcu_sync_ops structure
authorOleg Nesterov <oleg@redhat.com>
Fri, 21 Aug 2015 17:42:47 +0000 (19:42 +0200)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 6 Oct 2015 18:25:10 +0000 (11:25 -0700)
commit82e8c565be8a72957570d7da8dd9b441db7bb648
tree340d7f93cecbb93a2f6517e369b675195282ba7f
parentcc44ca848f5e517aeca9f5eabbe13609a3f71450
rcu_sync: Simplify rcu_sync using new rcu_sync_ops structure

This commit adds the new struct rcu_sync_ops which holds sync/call
methods, and turns the function pointers in rcu_sync_struct into an array
of struct rcu_sync_ops.  This simplifies the "init" helpers by collapsing
a switch statement and explicit multiple definitions into a simple
assignment and a helper macro, respectively.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
include/linux/rcu_sync.h
kernel/rcu/sync.c