From owner-freebsd-arch@FreeBSD.ORG Fri Aug 26 09:11:37 2011 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 403A0106564A; Fri, 26 Aug 2011 09:11:37 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 1723C8FC0C; Fri, 26 Aug 2011 09:11:37 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 9064C46B0D; Fri, 26 Aug 2011 05:11:36 -0400 (EDT) Date: Fri, 26 Aug 2011 10:11:36 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: perryh@pluto.rain.com In-Reply-To: <4e576127.Suqlhieb0FMDx8cB%perryh@pluto.rain.com> Message-ID: References: <4E53986B.5000804@FreeBSD.org> <201108230911.09021.jhb@freebsd.org> <4E564F15.3010809@FreeBSD.org> <201108250945.24606.jhb@freebsd.org> <4e576127.Suqlhieb0FMDx8cB%perryh@pluto.rain.com> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: avg@freebsd.org, freebsd-arch@freebsd.org Subject: Removing Giant from VFS in 10.0 (was: Re: skipping locks, mutex_owned, usb) 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: Fri, 26 Aug 2011 09:11:37 -0000 On Fri, 26 Aug 2011, perryh@pluto.rain.com wrote: > John Baldwin wrote: > >> ... acquire Giant. > > Last I heard, Giant was dropped in 8.0 (and that was the reason for isdn and > sio being dropped). Has it been reinstated? If so, should isdn and sio > also be reinstated? Giant persists in a number of places in the kernel, although most mainstream subsystems have been Giant-free for several years. Giant compatibility was removed from the network stack for 8, and I had hoped Giant compatibility would be removed from VFS for 9. That hasn't happened, but there are signs it may happen for 10. The main constraints there are that a pool of useful file systems remains unconverted to the new locking world order -- particularly, smbfs. I'd love to see someone take the bull by the horns on this one (Attilio?) -- the process we used for the network stack can probably be replicated there without too much difficulty: (1) Enumerate all remaining file systems dependent on Giant (probably already in the wiki, but review and update). (2) Post a Giant deprecation plan for VFS to arch@, current@, and fs@, allowing for substantial windows of time between "Announce removal plans", "Disable build of non-conforming parts", "Remove non-conforming parts", and with plenty of solicitations for help in fixing non-conforming parts. (3) Put in some of the legwork to help fix critical things -- mostly netsmb/smbfs. I will commit to either (a) making Coda MPSAFE for 10.0 or (b) removing it from the tree myself if I or someone else doesn't do it in time. But we do need more hands if we want to bring some of the legacy file systems forward -- especially things like nwfs/netncp, smbfs/netsmb, hpfs, etc. We also need to start announcing this early in the 10.0 cycle so that third-party file system developers for FreeBSD -- especially anyone interested in things like OpenAFS and Fuse, can do appropriate updates there as well. Robert