From owner-cvs-src@FreeBSD.ORG Sun Nov 25 17:31:04 2007 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4823C16A417; Sun, 25 Nov 2007 17:31:04 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from mail.netplex.net (mail.netplex.net [204.213.176.10]) by mx1.freebsd.org (Postfix) with ESMTP id ED65113C4D5; Sun, 25 Nov 2007 17:31:03 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.netplex.net (8.14.2/8.14.2/NETPLEX) with ESMTP id lAPHCIlT021306; Sun, 25 Nov 2007 12:12:18 -0500 (EST) X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.netplex.net) X-Greylist: Message whitelisted by DRAC access database, not delayed by milter-greylist-4.0 (mail.netplex.net [204.213.176.10]); Sun, 25 Nov 2007 12:12:19 -0500 (EST) Date: Sun, 25 Nov 2007 12:12:18 -0500 (EST) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Stephan Uphoff In-Reply-To: <47492064.7080108@freebsd.org> Message-ID: References: <200711081447.lA8EltXO052057@repoman.freebsd.org> <47492064.7080108@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/share/man/man9 locking.9 rmlock.9 src/sys/conf files src/sys/kern kern_rmlock.c subr_lock.c subr_pcpu.c subr_smp.c src/sys/sys _rmlock.h lock.h pcpu.h rmlock.h smp.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Nov 2007 17:31:04 -0000 On Sat, 24 Nov 2007, Darren Reed wrote: > Stephan Uphoff wrote: >> ups 2007-11-08 14:47:55 UTC >> >> FreeBSD src repository >> >> Modified files: >> share/man/man9 locking.9 sys/conf files >> sys/kern subr_lock.c subr_pcpu.c subr_smp.c sys/sys >> lock.h pcpu.h smp.h Added files: >> share/man/man9 rmlock.9 sys/kern kern_rmlock.c >> sys/sys _rmlock.h rmlock.h Log: >> Initial checkin for rmlock (read mostly lock) a multi reader single >> writer >> lock optimized for almost exclusive reader access. (see also rmlock.9) >> > > Is there a white paper or other documentation around somewhere that > discusses the benefits/tradeoffs with using rmlock vs rwlock? Why aren't we using the rwlock interfaces, but just allowing a different behavior when the lock is created (rwlock_init2() or something)? It would seem simpler to keep the same interface and allow easy toggling between rwlocks and rmlocks. The same way we can initialize kernel mutexes differently (MTX_DEF, MTX_SPIN) could be applied here. -- DE