Paul E. McKenney e260be673a Preempt-RCU: implementation
This patch implements a new version of RCU which allows its read-side
critical sections to be preempted. It uses a set of counter pairs
to keep track of the read-side critical sections and flips them
when all tasks exit read-side critical section. The details
of this implementation can be found in this paper -

	http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf

and the article-

	http://lwn.net/Articles/253651/

This patch was developed as a part of the -rt kernel development and
meant to provide better latencies when read-side critical sections of
RCU don't disable preemption.  As a consequence of keeping track of RCU
readers, the readers have a slight overhead (optimizations in the paper).
This implementation co-exists with the "classic" RCU implementations
and can be switched to at compiler.

Also includes RCU tracing summarized in debugfs.

[ akpm@linux-foundation.org: build fixes on non-preempt architectures ]

Signed-off-by: Gautham R Shenoy <ego@in.ibm.com>
Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Paul E. McKenney <paulmck@us.ibm.com>
Reviewed-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-01-25 21:08:24 +01:00
..
2008-01-07 14:55:37 -08:00
2007-10-21 02:37:45 -04:00
2007-10-21 02:37:45 -04:00
2007-10-21 02:37:45 -04:00
2007-10-21 02:37:45 -04:00
2007-11-14 18:45:37 -08:00
2007-10-18 14:37:24 -07:00
2008-01-25 21:08:24 +01:00
2008-01-21 19:39:41 -08:00
2007-10-18 14:37:26 -07:00
2006-12-07 08:39:36 -08:00
2008-01-25 21:08:24 +01:00
2007-07-16 09:05:50 -07:00
2007-10-16 09:43:10 -07:00
2006-12-04 02:00:22 -05:00
2008-01-25 21:08:24 +01:00
2007-10-11 22:11:12 +02:00
2007-10-19 11:53:34 -07:00
2007-12-20 15:01:17 +01:00
2007-11-14 18:45:43 -08:00
2008-01-25 21:07:59 +01:00
2008-01-25 21:08:24 +01:00
2008-01-25 21:08:24 +01:00
2008-01-25 21:08:24 +01:00
2007-10-18 14:37:24 -07:00
2007-07-16 09:05:49 -07:00
2007-12-30 17:24:35 +01:00
2008-01-25 21:08:23 +01:00
2007-07-16 09:05:50 -07:00
2007-12-17 19:28:17 -08:00
2007-10-18 14:37:24 -07:00
2008-01-21 19:39:41 -08:00
2007-05-09 08:57:56 +02:00