rcu: Add expedited grace-period support for preemptible RCU
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 2 Dec 2009 20:10:15 +0000 (12:10 -0800)
committerIngo Molnar <mingo@elte.hu>
Thu, 3 Dec 2009 10:35:25 +0000 (11:35 +0100)
commitd9a3da0699b24a589b27a61e1a5b5bd30d9db669
treef7440e396a6c818f3cef514ccc31ab55d88025ef
parentcf244dc01bf68e1ad338b82447f8686d24ea4435
rcu: Add expedited grace-period support for preemptible RCU

Implement an synchronize_rcu_expedited() for preemptible RCU
that actually is expedited.  This uses
synchronize_sched_expedited() to force all threads currently
running in a preemptible-RCU read-side critical section onto the
appropriate ->blocked_tasks[] list, then takes a snapshot of all
of these lists and waits for them to drain.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
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
Cc: dhowells@redhat.com
LKML-Reference: <1259784616158-git-send-email->
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/rcutorture.c
kernel/rcutree.c
kernel/rcutree.h
kernel/rcutree_plugin.h
kernel/rcutree_trace.c