From owner-freebsd-arch@FreeBSD.ORG Mon May 22 13:35:21 2006 Return-Path: X-Original-To: arch@FreeBSD.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 155BC16A5C6 for ; Mon, 22 May 2006 13:35:21 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id C55D043D4C for ; Mon, 22 May 2006 13:35:20 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id E5EB346BE6 for ; Mon, 22 May 2006 09:35:19 -0400 (EDT) Date: Mon, 22 May 2006 14:35:19 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: arch@FreeBSD.org Message-ID: <20060522142619.X21787@fledge.watson.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Subject: Reminder: intent to remove NET_NEEDS_GIANT() in 7.0 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 May 2006 13:35:24 -0000 As part of preparing for the FreeBSD Developer Summit at BSDCan a couple of weeks ago, I reviewed remaining components of the network stack relying on NET_NEEDS_GIANT() to operate. The list was essentially this: - i4b - netatm - ng_h4 - KAME IPSEC - IP encapsulation in IPX The intent remains to remove compatibility support for non-MPSAFE network stack protocols for 7.0; the compatibility mode adds significant run-time overhead to the operation of the entire network stack when in operation. We cannot continue to operate supported network protocol features with Giant compatibility going forward. If you are a maintainer of one of the above subsystems, be warned that, effective August 1, 2006, you will no longer be able to rely on the socket and network driver layers acquiring Giant to synchronize data structures in your subsystem in the CVS HEAD. Please do whatever work is necessary to allow your network subsystem to operate under the current kernel synchronization architecture if you wish it to remain in the tree, as consumers of NET_NEEDS_GIANT() will start producing compile errors in the CVS HEAD as of August 1. As previously announced on this list, netatm is reaching thee end of its mortal life span in absence of a maintainer (it is already known not to work as a result of several years of decay), and unless it suddenly becomes MPSAFE and functional, will be removed from the CVS HEAD on June 30. I'm happy to help provide advice and information on migrating to a Giant-free synchronization model, but having already adopted several network protocols for this purpose (netatalk, netnatm, netipx, ...), I don't have time to maintain any additional ones, so need to rely on other maintainers to update these components. Thanks, Robert N M Watson