Thread (11 messages) 11 messages, 4 authors, 2007-08-08

Re: [PATCH 3/4 RFC] RCU: preemptible RCU

From: Paul E. McKenney <hidden>
Date: 2007-08-08 05:35:25
Also in: lkml

On Tue, Aug 07, 2007 at 09:18:29PM +0200, Peter Zijlstra wrote:
On Tue, 2007-08-07 at 11:48 -0700, Paul E. McKenney wrote:
quoted
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

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 and RCU_SOFTIRQ for
the preemptible variant of RCU.
Whickedly complex but very cool stuff!

Unfortunately I have nothing to contribute other than praise at the
complex yet elegant way you dodged the need for synchronisation.
I am glad you like it!  Heck, I may have to print this email out,
frame it, and hang it on my cube wall.  ;-)

						Thanx, Paul
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help