rcu: Fix synchronize_rcu() for TREE_PREEMPT_RCU
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sun, 13 Sep 2009 16:15:11 +0000 (09:15 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Sep 2009 22:06:53 +0000 (00:06 +0200)
commit16e3081191837a6a04733de5cd5d1d1b303140d4
tree6b64a4613b9ac57da30518626a259b6aeeef4944
parentc3422bea5f09b0e85704f51f2b01271630b8940b
rcu: Fix synchronize_rcu() for TREE_PREEMPT_RCU

The redirection of synchronize_sched() to synchronize_rcu() was
appropriate for TREE_RCU, but not for TREE_PREEMPT_RCU.

Fix this by creating an underlying synchronize_sched().  TREE_RCU
then redirects synchronize_rcu() to synchronize_sched(), while
TREE_PREEMPT_RCU has its own version of synchronize_rcu().

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: akpm@linux-foundation.org
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
LKML-Reference: <12528585111916-git-send-email->
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/rcupdate.h
include/linux/rcutree.h
kernel/rcupdate.c