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. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/