Date: Sun, 21 Feb 2010 15:06:54 +0200 From: Kostik Belousov <kostikbel@gmail.com> To: David Xu <davidxu@freebsd.org> Cc: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r204132 - in user/kib/vm6/sys: conf dev/md kern sys ufs/ffs ufs/ufs vm Message-ID: <20100221130654.GG50403@deviant.kiev.zoral.com.ua> In-Reply-To: <4B80C2C6.8090902@freebsd.org> References: <201002201634.o1KGYg2f057928@svn.freebsd.org> <4B80C2C6.8090902@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--PjJPTMFqUKxQUast Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Feb 21, 2010 at 01:21:10PM +0800, David Xu wrote: > Konstantin Belousov wrote: > >Author: kib > >Date: Sat Feb 20 16:34:42 2010 > >New Revision: 204132 > >URL: http://svn.freebsd.org/changeset/base/204132 > > > >Log: > > Implementation of range locking for i/o and vm i/o. > > =20 > > First vm_readwrite.c implementation by: jeff > > In collaboration with: pho > The range locking is confusing, if there are thread A,B and C, > if A reads range 0-100, B writes range 0-100, C reads 200-300, > why should C waits before B is guaranteed ? C should be able to freely > read its data. I was very conservative. My main goal was to grant range locks to the threads in the order of arrival. This implicitely avoids any starvation as a consequence. Implementation in the kern_rangelock.c is temporal anyway, since it suffers from the same scalability issues as old sx/lockmgr due to the use of interlock. --PjJPTMFqUKxQUast Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAkuBL+0ACgkQC3+MBN1Mb4gBYwCgg3XQCeJhnMfK4DA02qvJDhG7 /1AAoLIKwT9FXMOGQbsnL2gBtsuuDNLf =OP70 -----END PGP SIGNATURE----- --PjJPTMFqUKxQUast--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100221130654.GG50403>