Date: Fri, 26 Aug 2011 10:11:36 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: perryh@pluto.rain.com Cc: avg@freebsd.org, freebsd-arch@freebsd.org Subject: Removing Giant from VFS in 10.0 (was: Re: skipping locks, mutex_owned, usb) Message-ID: <alpine.BSF.2.00.1108261007110.48200@fledge.watson.org> In-Reply-To: <4e576127.Suqlhieb0FMDx8cB%perryh@pluto.rain.com> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 26 Aug 2011, perryh@pluto.rain.com wrote:
> John Baldwin <jhb@freebsd.org> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1108261007110.48200>
