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

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

From: Peter Zijlstra <hidden>
Date: 2007-08-07 19:19:21
Also in: lkml

On Tue, 2007-08-07 at 11:48 -0700, Paul E. McKenney wrote:
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help