Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Nov 2010 22:51:39 +0530
From:      Aditya Sarawgi <sarawgi.aditya@gmail.com>
To:        Gleb Kurtsou <gleb.kurtsou@gmail.com>
Cc:        freebsd-fs@freebsd.org, Ivan Voras <ivoras@freebsd.org>
Subject:   Re: The state of Giant lock in the file systems?
Message-ID:  <20101108172136.GA2066@earth>
In-Reply-To: <20101108143130.GA2799@tops>
References:  <ib8qda$nat$1@dough.gmane.org> <20101108143130.GA2799@tops>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Nov 08, 2010 at 04:31:30PM +0200, Gleb Kurtsou wrote:
> On (08/11/2010 13:28), Ivan Voras wrote:
> > I was looking at fusefs sources and there is a dance it does with the
> > Giant lock which looks fishy.
> It's intended to be fishy. No kernel level locks should be held before
> returning to userland, in other words on each syscall vnode is locked (+
> Gaint lock for fs if needed), than it's unlocked by filesystem and
> relocked upon callback from userspace. puffs is MPSAFE if that could be
> of any help for you.
> 
> > Grepping for "-ir giant" in /sys/fs on 8-stable shows only a handful of
> > mentionings, but if I understand it correctly only these "active" instances:
> > 
> > 1) one set of mtx_assert() calls on it in pseudofs, which I can't figure
> > out what they're guarding
> > 2) some manual locking and unlocking in nfsclient which appears to only
> > guard printf() (???)
> Somewhat unrelated, but. Does NFS client unlock vnodes while
> sending/waiting for RCP reply? I thought it does, but I'm not sure.
> 
> > 3) some more locking in nfsserver which apparently is only there to
> > guard the underlying local file system
> > 4) coda, which appears to be the only one marked with D_NEEDGIANT, but
> > doesn't do much of its own interfacing with it
> > 
> > Except for these, is there any more magic that would need to be resolved
> > to excise Giant from VFS?
> Kostik was working on it.
> 
> > Would it be correct to think that coda is the single biggest obstacle?
> Filesystem should be marked as MPSAFE, it's not D_NEEDGIANT flag but
> MNTK_MPSAFE. A lot of filesystems are still locked by Gaint, i.e ext2fs,
> smbfs, nwfs, ntfs, etc.
>

ext2fs on 9-CURRENT is MPSAFE.  
 
> > 
> > _______________________________________________
> > freebsd-fs@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101108172136.GA2066>