From owner-freebsd-smp Sun Dec 15 21:06:23 1996 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id VAA06891 for smp-outgoing; Sun, 15 Dec 1996 21:06:23 -0800 (PST) Received: from cs.utah.edu (cs.utah.edu [128.110.4.21]) by freefall.freebsd.org (8.8.4/8.8.4) with ESMTP id VAA06886 for ; Sun, 15 Dec 1996 21:06:19 -0800 (PST) Received: from fast.cs.utah.edu by cs.utah.edu (8.8.4/utah-2.21-cs) id WAA09618; Sun, 15 Dec 1996 22:06:13 -0700 (MST) Received: by fast.cs.utah.edu (8.6.10/utah-2.15-leaf) id WAA18310; Sun, 15 Dec 1996 22:06:07 -0700 Date: Sun, 15 Dec 1996 22:06:07 -0700 From: vanmaren@fast.cs.utah.edu (Kevin Van Maren) Message-Id: <199612160506.WAA18310@fast.cs.utah.edu> To: chuckr@Glue.umd.edu, michaelh@cet.co.jp Subject: Re: General SMP Design Cc: smp@freebsd.org Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Without Type Stable Memory, you can't just traverse a data structure that is getting modified under you. If someone deletes an element in a linked list while you are "looking at it", and re-mallocs it as something else ... you can go off into la-la land. With type- stable memory, it will always be an element in the list; if it gets modified you fail when you try to modify the structure and you start over again.