Use of RCU (read-copy-update)

Alexander V. Chernikov melifaro at FreeBSD.org
Sat Dec 24 16:30:09 UTC 2011


Alexander V. Chernikov wrote:
> Hello list!

..
Sorry, glebius@ address was incorrect.

> 
> Questions related to RCU happens to be asked every several years, last
> on was on 2010, nearly 2 years have passed, so I'm asking again (to keep
> tradition).
> 
> What is RCU? RCU stands for read-copy-update locking technology that
> permits users not to lock readers at all. It works by using delayed free
>  which is triggered after all CPUs have flushed its cachelines.
> 
> It is now heavily used in various places in Linux kernel significantly
> raising performance.
> 
> More technical information:
> http://lwn.net/Articles/262464/ (general explanation from authors)
> http://www.rdrop.com/users/paulmck/RCU/ (RCU "Homepage")
> http://en.wikipedia.org/wiki/Read-copy-update
> 
> Previous discussions:
> http://lists.freebsd.org/pipermail/freebsd-arch/2004-March/001889.html
> http://lists.freebsd.org/pipermail/freebsd-arch/2006-November/005762.html
> http://lists.freebsd.org/pipermail/freebsd-current/2010-October/020320.html
> 
> 
> Main problem: Idea is patended:
> General worlds:
> http://www.groklaw.net/articlebasic.php?story=20061028211523142
> Patents in PDF:
> http://www.groklaw.net/pdf/IBM-835-Exhibit_522.pdf
> http://www.groklaw.net/pdf/IBM-835-Exhibit_523.pdf
> http://www.groklaw.net/pdf/IBM-835-Exhibit_524.pdf
> 
> 
> RCU was also one of discussed topics in SCO-Linux lawsuit ( see
> http://lwn.net/Articles/36164/ or
> http://en.wikipedia.org/wiki/SCO_v._IBM#Increased_damages_claims.2C_and_read-copy-update_claims
> )
> Currently IBM holds all RCU-related patents.
> Generally it is spoken that IBM permits using RCU for opensource or GPL
> projects, however I can't find any official link with explanation /
> conditions.
> 
> However, userland RCU project exists under LGPL: http://lttng.org/urcu
> 
> There is also (theoretially) an alternative approach implemented in
> dfBSD, lwkt: see lwkt_serialize.c and lwkt_token.c in kern/
> subdirectory: http://fxr.watson.org/fxr/source/kern/?v=DFBSD
> 
> I can't unfortunately find any finished explanation/documentation about
> how it works (on SMP) and if this works at all.
> 
> It seems we need some kind of RCU to be implemented since performance
> abyss (at least in networking) between us and Linux grows.
> 
> 
> What can we do about this?
> 1) Do nothing.
> 
> 2) Check if there a way to write and implementation non-covered by those
> patents
> 
> 3) Determine exact conditions under which IBM permits using RCU? (maybe
> ask IBM directly?)
> 
> 4) Consider the possibility of buying license from IBM (if we can
> redistribute code under BSD license after that)
> 
> 
> 
> 
> 
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20111224/fd88b04f/signature.pgp


More information about the freebsd-arch mailing list