From: Christoph Hellwig <hch@infradead.org>
To: Jan Kara <jack@suse.cz>
Cc: Christoph Hellwig <hch@infradead.org>,
linux-fsdevel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
Martijn Coenen <maco@android.com>,
tj@kernel.org
Subject: Re: [PATCH 2/3] writeback: Fix sync livelock due to b_dirty_time processing
Date: Wed, 10 Jun 2020 08:58:42 -0700 [thread overview]
Message-ID: <20200610155842.GA20113@infradead.org> (raw)
In-Reply-To: <20200610155456.GB20677@quack2.suse.cz>
On Wed, Jun 10, 2020 at 05:54:56PM +0200, Jan Kara wrote:
> On Wed 10-06-20 08:06:14, Christoph Hellwig wrote:
> > On Mon, Jun 01, 2020 at 11:18:56AM +0200, Jan Kara wrote:
> > > When we are processing writeback for sync(2), move_expired_inodes()
> > > didn't set any inode expiry value (older_than_this). This can result in
> > > writeback never completing if there's steady stream of inodes added to
> > > b_dirty_time list as writeback rechecks dirty lists after each writeback
> > > round whether there's more work to be done. Fix the problem by using
> > > sync(2) start time is inode expiry value when processing b_dirty_time
> > > list similarly as for ordinarily dirtied inodes. This requires some
> > > refactoring of older_than_this handling which simplifies the code
> > > noticeably as a bonus.
> >
> > Looks sane, but if you touch all the older_than_this users can we
> > rename it to something more reasonable like oldest or oldest_jif?
>
> OK, I can certainly rename this. I've just realized that 'oldest' is really
> misleading since we are in fact processing inodes that were dirtied before
> the given time. So maybe name that 'dirtied_before'?
Sounds good to me.
next prev parent reply other threads:[~2020-06-10 15:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-01 9:18 [PATCH 0/3] writeback: Lazytime handling fix and cleanups Jan Kara
2020-06-01 9:18 ` [PATCH 1/3] writeback: Avoid skipping inode writeback Jan Kara
2020-06-05 14:11 ` Sasha Levin
2020-06-10 15:02 ` Christoph Hellwig
2020-06-10 15:30 ` Jan Kara
2020-06-01 9:18 ` [PATCH 2/3] writeback: Fix sync livelock due to b_dirty_time processing Jan Kara
2020-06-10 15:06 ` Christoph Hellwig
2020-06-10 15:54 ` Jan Kara
2020-06-10 15:58 ` Christoph Hellwig [this message]
2020-06-01 9:18 ` [PATCH 3/3] writeback: Drop I_DIRTY_TIME_EXPIRE Jan Kara
2020-06-10 15:11 ` Christoph Hellwig
2020-06-10 16:20 ` Jan Kara
2020-06-10 10:04 ` [PATCH 0/3] writeback: Lazytime handling fix and cleanups Jan Kara
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=20200610155842.GA20113@infradead.org \
--to=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=maco@android.com \
--cc=tj@kernel.org \
--cc=tytso@mit.edu \
/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.