From owner-freebsd-hackers Fri Dec 13 02:54:29 1996 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id CAA08488 for hackers-outgoing; Fri, 13 Dec 1996 02:54:29 -0800 (PST) Received: from hda.hda.com (ip24-max1-fitch.ziplink.net [199.232.245.24]) by freefall.freebsd.org (8.8.4/8.8.4) with SMTP id CAA08482 for ; Fri, 13 Dec 1996 02:54:25 -0800 (PST) Received: (from dufault@localhost) by hda.hda.com (8.6.12/8.6.12) id FAA12751; Fri, 13 Dec 1996 05:51:45 -0500 From: Peter Dufault Message-Id: <199612131051.FAA12751@hda.hda.com> Subject: Re: Implementing atomic DCAS on Intel for NBS In-Reply-To: <199612130653.BAA17932@chai.plexuscom.com> from Bakul Shah at "Dec 13, 96 01:53:31 am" To: bakul@plexuscom.com (Bakul Shah) Date: Fri, 13 Dec 1996 05:51:44 -0500 (EST) Cc: michaelh@cet.co.jp, Hackers@freebsd.org X-Mailer: ELM [version 2.4ME+ PL25 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > Comments about NBS: > > In general, when the number of words read exceeds the number of > written words (for shared data structures), NBS will be more > efficient than lockIng. Deadlock simply can not happen because > atmost there is just one shared lock. That one shared lock will get pretty busy, while with standard locking the lock activity can "page" to a point in an MP hierarchy where they are actually used. I'll have to look up the references to see how this locality issue is discussed. Language support with some kind of commit operation on data structures seems attractive - by this I mean only declaring those parts of a data structure that must be lockable lockable, and automatically getting write accesses nCAS'd where the system would update all fields at once from a temporary (together with the serial number update - go easy on this - I haven't thought about it much yet). -- Peter Dufault (dufault@hda.com) Real-Time Machine Control and Simulation HD Associates, Inc. Voice: 508 433 6936