From: "Darrick J. Wong" <djwong@kernel.org>
To: Dave Chinner <david@fromorbit.com>
Cc: Christoph Hellwig <hch@infradead.org>, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 06/11] xfs: deferred inode inactivation
Date: Mon, 22 Mar 2021 17:24:14 -0700 [thread overview]
Message-ID: <20210323002414.GH22100@magnolia> (raw)
In-Reply-To: <20210322233721.GA63242@dread.disaster.area>
On Tue, Mar 23, 2021 at 10:37:21AM +1100, Dave Chinner wrote:
> On Tue, Mar 16, 2021 at 08:47:29AM -0700, Darrick J. Wong wrote:
> > On Tue, Mar 16, 2021 at 07:27:10AM +0000, Christoph Hellwig wrote:
> > > Still digesting this. What trips me off a bit is the huge amount of
> > > duplication vs the inode reclaim mechanism. Did you look into sharing
> > > more code there and if yes what speaks against that?
> >
> > TBH I didn't look /too/ hard because once upon a time[1] Dave was aiming
> > to replace the inode reclaim tagging and iteration with an lru list walk
> > so I decided not to entangle the two.
> >
> > [1] https://lore.kernel.org/linux-xfs/20191009032124.10541-23-david@fromorbit.com/
>
> I prototyped that and discarded it - it made inode reclaim much,
> much slower because it introduced delays (lock contention) adding
> new inodes to the reclaim list while a reclaim isolation walk was in
> progress.
>
> The radix tree based mechanism we have right now is very efficient
> as only the inodes being marked for reclaim take the radix tree
> lock and hence there is minimal contention for it...
Ahah, that's what happened to that patchset. Well in that case, since
xfs_reclaim_inodes* is going to stick around, I think it makes more
sense to refactor xfs_inodes_walk_ag to handle XFS_ICI_RECLAIM_TAG, and
then xfs_reclaim_inodes_ag can go away entirely.
That said, xfs_reclaim_inodes_ag does have some warts (like updating the
per-ag reclaim cursor and decrementing nr_to_scan) that would add
clutter.
--D
> Cheers,
>
> Dave.
> --
> Dave Chinner
> david@fromorbit.com
next prev parent reply other threads:[~2021-03-23 0:25 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-11 3:05 [PATCHSET v3 00/11] xfs: deferred inode inactivation Darrick J. Wong
2021-03-11 3:05 ` [PATCH 01/11] xfs: prevent metadata files from being inactivated Darrick J. Wong
2021-03-11 13:05 ` Christoph Hellwig
2021-03-22 23:13 ` Dave Chinner
2021-03-11 3:05 ` [PATCH 02/11] xfs: refactor the predicate part of xfs_free_eofblocks Darrick J. Wong
2021-03-11 13:09 ` Christoph Hellwig
2021-03-15 18:46 ` Christoph Hellwig
2021-03-18 4:33 ` Darrick J. Wong
2021-03-19 1:48 ` Darrick J. Wong
2021-03-11 3:05 ` [PATCH 03/11] xfs: don't reclaim dquots with incore reservations Darrick J. Wong
2021-03-15 18:29 ` Christoph Hellwig
2021-03-22 23:31 ` Dave Chinner
2021-03-23 0:01 ` Darrick J. Wong
2021-03-23 1:48 ` Dave Chinner
2021-03-11 3:06 ` [PATCH 04/11] xfs: decide if inode needs inactivation Darrick J. Wong
2021-03-15 18:47 ` Christoph Hellwig
2021-03-15 19:06 ` Darrick J. Wong
2021-03-11 3:06 ` [PATCH 05/11] xfs: rename the blockgc workqueue Darrick J. Wong
2021-03-15 18:49 ` Christoph Hellwig
2021-03-11 3:06 ` [PATCH 06/11] xfs: deferred inode inactivation Darrick J. Wong
2021-03-16 7:27 ` Christoph Hellwig
2021-03-16 15:47 ` Darrick J. Wong
2021-03-17 15:21 ` Christoph Hellwig
2021-03-17 15:49 ` Darrick J. Wong
2021-03-22 23:46 ` Dave Chinner
2021-03-22 23:37 ` Dave Chinner
2021-03-23 0:24 ` Darrick J. Wong [this message]
2021-03-23 1:44 ` Dave Chinner
2021-03-23 4:00 ` Darrick J. Wong
2021-03-23 5:19 ` Dave Chinner
2021-03-24 2:04 ` Darrick J. Wong
2021-03-24 4:57 ` Dave Chinner
2021-03-25 4:20 ` Darrick J. Wong
2021-03-24 17:53 ` Christoph Hellwig
2021-03-25 4:26 ` Darrick J. Wong
2021-03-11 3:06 ` [PATCH 07/11] xfs: expose sysfs knob to control inode inactivation delay Darrick J. Wong
2021-03-11 3:06 ` [PATCH 08/11] xfs: force inode inactivation and retry fs writes when there isn't space Darrick J. Wong
2021-03-15 18:54 ` Christoph Hellwig
2021-03-15 19:06 ` Darrick J. Wong
2021-03-11 3:06 ` [PATCH 09/11] xfs: force inode garbage collection before fallocate when space is low Darrick J. Wong
2021-03-11 3:06 ` [PATCH 10/11] xfs: parallelize inode inactivation Darrick J. Wong
2021-03-15 18:55 ` Christoph Hellwig
2021-03-15 19:03 ` Darrick J. Wong
2021-03-23 22:21 ` Dave Chinner
2021-03-24 3:52 ` Darrick J. Wong
2021-03-11 3:06 ` [PATCH 11/11] xfs: create a polled function to force " Darrick J. Wong
2021-03-23 22:31 ` Dave Chinner
2021-03-24 3:34 ` Darrick J. Wong
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=20210323002414.GH22100@magnolia \
--to=djwong@kernel.org \
--cc=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=linux-xfs@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).