Re: [PATCH/RFC] VFS: don't keep disconnected dentries on d_anon
From: Al Viro
Date: Thu Dec 21 2017 - 00:41:06 EST
On Wed, Dec 20, 2017 at 04:57:28PM -0800, Linus Torvalds wrote:
> On Wed, Dec 20, 2017 at 2:45 PM, NeilBrown <neilb@xxxxxxxx> wrote:
> >
> > We could just leave the code unchanged, but apart from that being
> > potentially confusing, the (unfair) bit-spin-lock which protects
> > s_anon can become a bottle neck when lots of disconnected dentries are
> > being created.
> >
> > So this patch renames s_anon to s_roots, and stops storing
> > disconnected dentries on the list. Only dentries obtained with
> > d_obtain_root() are now stored on this list. There are many fewer of
> > these (only NFS and NILFS2 use the call, and only during filesystem
> > mount) so contention on the bit-lock will not be a problem.
>
> Thanks, Neil. This is much nicer than the magical special case patch
> for s_anon bitlock.
>
> Al, I'm going to assume I'll get this through your vfs tree (with
> whatever edits from the comments people made).
*nod*
I've got sidetracked digging through the Lustre mess with dcache (revalidation
stuff, again), will finish once I get some sleep. In any case, I like that
variant; it's definitely going to be applied.