Linux-Fsdevel Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: Christoph Hellwig <hch@infradead.org>
Cc: Jan Kara <jack@suse.cz>,
	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 17:54:56 +0200	[thread overview]
Message-ID: <20200610155456.GB20677@quack2.suse.cz> (raw)
In-Reply-To: <20200610150614.GB21733@infradead.org>

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'?

								Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

  reply	other threads:[~2020-06-10 15:54 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 [this message]
2020-06-10 15:58       ` Christoph Hellwig
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=20200610155456.GB20677@quack2.suse.cz \
    --to=jack@suse.cz \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=maco@android.com \
    --cc=tj@kernel.org \
    --cc=tytso@mit.edu \
    --subject='Re: [PATCH 2/3] writeback: Fix sync livelock due to b_dirty_time processing' \
    /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

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).