From owner-freebsd-arch@FreeBSD.ORG Sat Dec 24 16:30:09 2011 Return-Path: Delivered-To: freebsd-arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31F5D106564A; Sat, 24 Dec 2011 16:30:09 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mail.ipfw.ru (unknown [IPv6:2a01:4f8:120:6141::2]) by mx1.freebsd.org (Postfix) with ESMTP id D9CA88FC16; Sat, 24 Dec 2011 16:30:08 +0000 (UTC) Received: from secured.by.ipfw.ru ([81.200.11.182] helo=ws.su29.net) by mail.ipfw.ru with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76 (FreeBSD)) (envelope-from ) id 1ReUU4-000AJY-9b; Sat, 24 Dec 2011 20:30:08 +0400 Message-ID: <4EF5FDDC.504@FreeBSD.org> Date: Sat, 24 Dec 2011 20:29:16 +0400 From: "Alexander V. Chernikov" User-Agent: Thunderbird 2.0.0.24 (X11/20100515) MIME-Version: 1.0 To: freebsd-arch@FreeBSD.org, Gleb Smirnoff References: <4EF5FD0E.9050500@FreeBSD.org> In-Reply-To: <4EF5FD0E.9050500@FreeBSD.org> X-Enigmail-Version: 0.96.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigB45F0E590685030A7994A17C" Cc: Subject: Re: Use of RCU (read-copy-update) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Dec 2011 16:30:09 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigB45F0E590685030A7994A17C Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Alexander V. Chernikov wrote: > Hello list! =2E. Sorry, glebius@ address was incorrect. >=20 > 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 kee= p > tradition). >=20 > 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 fre= e > which is triggered after all CPUs have flushed its cachelines. >=20 > It is now heavily used in various places in Linux kernel significantly > raising performance. >=20 > 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 >=20 > Previous discussions: > http://lists.freebsd.org/pipermail/freebsd-arch/2004-March/001889.html > http://lists.freebsd.org/pipermail/freebsd-arch/2006-November/005762.ht= ml > http://lists.freebsd.org/pipermail/freebsd-current/2010-October/020320.= html >=20 >=20 > Main problem: Idea is patended: > General worlds: > http://www.groklaw.net/articlebasic.php?story=3D20061028211523142 > 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 >=20 >=20 > 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. >=20 > However, userland RCU project exists under LGPL: http://lttng.org/urcu >=20 > 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=3DDFBSD >=20 > I can't unfortunately find any finished explanation/documentation about= > how it works (on SMP) and if this works at all. >=20 > It seems we need some kind of RCU to be implemented since performance > abyss (at least in networking) between us and Linux grows. >=20 >=20 > What can we do about this? > 1) Do nothing. >=20 > 2) Check if there a way to write and implementation non-covered by thos= e > patents >=20 > 3) Determine exact conditions under which IBM permits using RCU? (maybe= > ask IBM directly?) >=20 > 4) Consider the possibility of buying license from IBM (if we can > redistribute code under BSD license after that) >=20 >=20 >=20 >=20 >=20 >=20 --------------enigB45F0E590685030A7994A17C Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk71/dwACgkQwcJ4iSZ1q2noGACaAnQjDKTiKAJ/ehvTxuUs0rTR Pw4An2GsoaYsZEjQHntSUn+P+jRCvhMM =lEOu -----END PGP SIGNATURE----- --------------enigB45F0E590685030A7994A17C--