From owner-freebsd-smp Sun Dec 15 19:28:36 1996 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id TAA03689 for smp-outgoing; Sun, 15 Dec 1996 19:28:36 -0800 (PST) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by freefall.freebsd.org (8.8.4/8.8.4) with ESMTP id TAA03684 for ; Sun, 15 Dec 1996 19:28:33 -0800 (PST) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.8.3/CET-v2.1) with SMTP id DAA24963; Mon, 16 Dec 1996 03:28:26 GMT Date: Mon, 16 Dec 1996 12:28:26 +0900 (JST) From: Michael Hancock Reply-To: Michael Hancock To: Chuck Robey cc: smp@freebsd.org Subject: Re: General SMP Design In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk On Sun, 15 Dec 1996, Chuck Robey wrote: > On Mon, 16 Dec 1996, Michael Hancock wrote: > > > http://www-dsg.stanford.edu/papers/non-blocking-osdi/index.html > > > > We have many examples of type-stable memory management in our code. i.e. > > a vnode is always an instance of a vnode, it can be a on a free list. It > > doesn't change it's type. The zone allocator is a good thing. > > I read that, but I don't clearly see why TSM was required. Not talking > about the benefits, but why it's required by NBS. Are you clearer, and > could you explain it without too much verbage (I don't want to make > everyone read a thesis here 8-> ). I'm still reading it myself, but I think it is because you don't want a data structure to change "underneath" you while other higher priority processes take over your lock and you retry later on. Type-stable memory simplifies implementation. SMP is complex, which why I think people should read good background material. Good infrastructure design can reduce complexity and improve performance at the same time. "UNIX Systems for modern architectures" by Schimmel and "UNIX Internals: the new frontiers" by Vahalia have the traditional approaches. When reading that stuff, you can't help wondering if there's a better way to do solve priority inversion, deadlocks, and all those other SMP problems. I don't know if NBS is a real silver bullet, but it's cool that find someone out there thinking about alternatives to what we know today. Regards, Mike Hancock