Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jun 1999 05:10:44 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        julian@whistle.com (Julian Elischer)
Cc:        dillon@apollo.backplane.com, freebsd-smp@FreeBSD.ORG
Subject:   Re: high-efficiency SMP locks - submission for review
Message-ID:  <199906280510.WAA27040@usr04.primenet.com>
In-Reply-To: <Pine.BSF.3.95.990627142319.8298I-100000@current1.whistle.com> from "Julian Elischer" at Jun 27, 99 02:34:40 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> This brings up a couple of points..
>  
>  1/ Who wrote the existing lock manager, and why did they do
>     it the way they did?. When soemone goes to so much trouble
>     over something it's usually for a reason.

It appears to be a move toward moving file locking out of the
VOP_ADVLOCK area and onto the vnode, instead of hung off the
backing object.

The abstraction is incomplete, but the reasoning is obvious,
given the large number of locking semantics (flock, fcntl, O_EXCL,
NFS LEASES, etc.) that need to interoperate and protect the
backing object, regardless of the access path or mechanism.


>  2/ Before we rush off and implement a new set of locking primatives,
>     it might be a good idea to look at the locking primatives of a few
>     other OS's.. For example Linux and MACH, and if we can get hold of
>     them, Solaris and maybe the exokernel. (and sprite)

I would suggest RealTime multiprocessor systems, and embedded
database designs, actually.


>  3/ This is not to say that what you have done is bad, but that there
>     is something to be said for not being gratuitously different. It
>     might also be the case that the other BSDs might be doing something
>     with locks.

BSDI is really the only important work in the BSD arena, if one
discounts the 4.3 derived MP stuff from Sequent and SunOS 4.1.3_U2
that was done for Futitsu and some large ISPs.


>  4/ If you want to implement these locks it really is up to you to do
>     a quick scan of what the "state of the art" is in this field.
> 
>     I think I can dig up MACH2.5 (OSF1/digital unix/true64) locks
> 
>     maybe we should make a call for everyone on the freebsd lists to
>     see what they can find in their own back yards. Of course the use
>     of await() gives a good head start for us..

This is a good point that should not be skipped.

The lazy task creation in the BSDI kernel is a technique which is
over 10 years old right now, and was last published in the public
literature about 1991.

It would be nice if whatever was finally integrated was less than 10
years out of date...


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906280510.WAA27040>