From owner-freebsd-arch@FreeBSD.ORG Sat Dec 24 21:28:38 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 2CF9D106564A for ; Sat, 24 Dec 2011 21:28:38 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id AD1568FC0A for ; Sat, 24 Dec 2011 21:28:31 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id pBOLSURf058831; Sat, 24 Dec 2011 16:28:30 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id pBOLSU3b058830; Sat, 24 Dec 2011 16:28:30 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Sat, 24 Dec 2011 16:28:30 -0500 From: David Schultz To: "Alexander V. Chernikov" Message-ID: <20111224212830.GA58693@zim.MIT.EDU> Mail-Followup-To: "Alexander V. Chernikov" , freebsd-arch@freebsd.org, glebuis@freebsd.org References: <4EF5FD0E.9050500@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4EF5FD0E.9050500@FreeBSD.org> Cc: glebuis@FreeBSD.ORG, freebsd-arch@FreeBSD.ORG 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 21:28:38 -0000 On Sat, Dec 24, 2011, Alexander V. Chernikov wrote: > 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 [...] > 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) Negotiating or fighting patents is a messy business, so a technical solution may be easier. The ideas behind RCU are very old, so one way out is to implement one of the older out-of-patent ideas directly. In an expired patent, IBM called the idea "passive serialization." You can also find a lot of (hopefully unencumbered) research on "software transactional memory", which is a nice abstraction for a similar mechanism. (Most of the papers focus on how to do atomic read-write transactions; read-only transactions are much easier.) But be careful: If you independently invent an improvement that isn't covered by the older patent but is covered by RCU, that idea may still infringe.