From owner-freebsd-smp Sun Dec 3 6:56: 1 2000 From owner-freebsd-smp@FreeBSD.ORG Sun Dec 3 06:55:59 2000 Return-Path: Delivered-To: freebsd-smp@freebsd.org Received: from mail.interware.hu (mail.interware.hu [195.70.32.130]) by hub.freebsd.org (Postfix) with ESMTP id BC5B337B400; Sun, 3 Dec 2000 06:55:57 -0800 (PST) Received: from luanda-08.budapest.interware.hu ([195.70.51.8] helo=elischer.org) by mail.interware.hu with esmtp (Exim 3.16 #1 (Debian)) id 142aYQ-0002d7-00; Sun, 03 Dec 2000 15:55:51 +0100 Sender: julian@FreeBSD.ORG Message-ID: <3A2A5EE3.56E711B8@elischer.org> Date: Sun, 03 Dec 2000 06:55:32 -0800 From: Julian Elischer X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 5.0-CURRENT i386) X-Accept-Language: en, hu MIME-Version: 1.0 To: brian@freebsd.org, archie@freebsd.org, phk@freebsd.org, smp@freebsd.org Subject: Netgraph and SMP Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org I'm trying to figure out the locking needed for SMP in Netgraph. Here are some of the various constraints that I see. (some of theme are not just SMP issues). 1/ can't remove modules that are being used (the base framework) or have living nodes (other netgraph modules). 2/ Cannot remove a node if it is in use, (or in a return stack somewhere) 3/ Cannot unlink an 'edge' if someone is passing data across it. 4/ cannot use edges and nodes that are in the process of being set up or torn down. 5/ Defered deliveries cannot be made to nodes that are being removed. 6/ Nodes cannot be completely removed if there are pending deliveries for them. What locking schemes to otther people use for protecting intricate structures of objects with various interconnections? The buffer cache is one example that comes to mind, as is the routing table. Julian -- __--_|\ Julian Elischer / \ julian@elischer.org ( OZ ) World tour 2000 ---> X_.---._/ presently in: Budapest v To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message