From owner-cvs-all Tue May 28 18:29:52 2002 Delivered-To: cvs-all@freebsd.org Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by hub.freebsd.org (Postfix) with ESMTP id 1E2DD37B406; Tue, 28 May 2002 18:29:48 -0700 (PDT) Received: from khavrinen.lcs.mit.edu (localhost [IPv6:::1]) by khavrinen.lcs.mit.edu (8.12.3/8.12.3) with ESMTP id g4T1TlEN009463; Tue, 28 May 2002 21:29:47 -0400 (EDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.12.3/8.12.3/Submit) id g4T1TlXR009460; Tue, 28 May 2002 21:29:47 -0400 (EDT) Date: Tue, 28 May 2002 21:29:47 -0400 (EDT) From: Garrett Wollman Message-Id: <200205290129.g4T1TlXR009460@khavrinen.lcs.mit.edu> To: John Baldwin Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/kern uipc_socket.c In-Reply-To: References: <200205282306.g4SN60YG008784@khavrinen.lcs.mit.edu> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG < said: > And you are being completely vague about what the current strategy actually > is. Non-blocking synchronization. Or rather, semi-non-blocking synchronization. As written, except for this (minor) race, and given the requirement for type-stable memory, we do not need any mutual exclusion except for the initial construction of the list of sockets to copy out. (If a better data structure were used for the list of sockets, we would not need any mutual exclusion at all.) We can provide to applications a limited form of consistency which was not possible with the old (grovel in KVM) implementation, without blocking network activity for an inordinate length of time. One would prefer that an appropriate constructor were used instead of simply hoping for the best. (It's highly unlikely that the race would be lost undetectably, so it's not a huge concern, but it is worthy of a comment.) -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message