From: Dave Chinner <david@fromorbit.com>
To: Al Viro <viro@ZenIV.linux.org.uk>
Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] fs: don't scan the inode cache before SB_ACTIVE is set
Date: Mon, 26 Mar 2018 18:21:07 +1100 [thread overview]
Message-ID: <20180326072107.GM18129@dastard> (raw)
In-Reply-To: <20180326065547.GQ30522@ZenIV.linux.org.uk>
On Mon, Mar 26, 2018 at 07:55:47AM +0100, Al Viro wrote:
> On Mon, Mar 26, 2018 at 05:33:32PM +1100, Dave Chinner wrote:
> > > It's potentially racy, though - don't we need a barrier between setting the
> > > things up and setting SB_ACTIVE?
> >
> > Well, we start with it clear, so it won't be a problem if the
> > shrinker races with it being set. I think it's more a problem when
> > we clear it, but I'm not sure how much of a problem that is because
> > the filesystem structures are still all set up whenever it gets
> > cleared.
>
> ... except that stores might be reordered, with ->s_flags one observed before
> some of the stores that went before it.
>
> > It said, it's no trouble to add a smp_wmb/smp_rmb barriers where
> > necessary...
> >
> > > And that, BTW, means that we want SB_BORN instead of SB_ACTIVE - unlike the
> > > latter, the former is set only in one place.
> >
> > Not sure that's the case - lots of filesystems set SB_ACTIVE in
> > their mount process to enable iput_final() to cache inodes. That's
> > why I chose SB_ACTIVE - it matches when the filesystem starts making
> > use of the inode cache and giving the shrinker real work to do....
> >
> > <shrug> not fussed - let me know if you still prefer SB_BORN and
> > I'll switch it.
>
> I do. Let it match the places like trylock_super() et.al.
No worries, will switch.
-Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2018-03-26 7:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-26 4:35 [PATCH] fs: don't scan the inode cache before SB_ACTIVE is set Dave Chinner
2018-03-26 5:31 ` Al Viro
2018-03-26 5:51 ` Al Viro
2018-03-26 6:33 ` Dave Chinner
2018-03-26 6:55 ` Al Viro
2018-03-26 7:21 ` Dave Chinner [this message]
2018-03-27 6:57 ` [PATCH V2] fs: don't scan the inode cache before SB_BORN " Dave Chinner
2018-03-27 7:24 ` Al Viro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180326072107.GM18129@dastard \
--to=david@fromorbit.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=viro@ZenIV.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.