All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tim Chen <tim.c.chen@linux.intel.com>
To: Kemeng Shi <shikemeng@huaweicloud.com>,
	viro@zeniv.linux.org.uk,  brauner@kernel.org, jack@suse.cz
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/7] fs/writeback: avoid to writeback non-expired inode in kupdate writeback
Date: Thu, 08 Feb 2024 10:29:26 -0800	[thread overview]
Message-ID: <ba75294dfb5bf4dd046d54de6c3e57698592dacc.camel@linux.intel.com> (raw)
In-Reply-To: <20240208172024.23625-2-shikemeng@huaweicloud.com>

On Fri, 2024-02-09 at 01:20 +0800, Kemeng Shi wrote:
> 
>  
> +static void filter_expired_io(struct bdi_writeback *wb)
> +{
> +	struct inode *inode, *tmp;
> +	unsigned long expired_jiffies = jiffies -
> +		msecs_to_jiffies(dirty_expire_interval * 10);

We have kupdate trigger time hard coded with a factor of 10 to expire interval here.
The kupdate trigger time "mssecs_to_jiffies(dirty_expire_interval * 10)" is
also used in wb_writeback().  It will be better to have a macro or #define
to encapsulate the trigger time so if for any reason we need
to tune the trigger time, we just need to change it at one place.

Tim

> +
> +	spin_lock(&wb->list_lock);
> +	list_for_each_entry_safe(inode, tmp, &wb->b_io, i_io_list)
> +		if (inode_dirtied_after(inode, expired_jiffies))
> +			redirty_tail(inode, wb);
> +
> +	list_for_each_entry_safe(inode, tmp, &wb->b_more_io, i_io_list)
> +		if (inode_dirtied_after(inode, expired_jiffies))
> +			redirty_tail(inode, wb);
> +	spin_unlock(&wb->list_lock);
> +}
> +
>  /*
>   * Explicit flushing or periodic writeback of "old" data.
>   *
> @@ -2070,6 +2087,9 @@ static long wb_writeback(struct bdi_writeback *wb,
>  	long progress;
>  	struct blk_plug plug;
>  
> +	if (work->for_kupdate)
> +		filter_expired_io(wb);
> +
>  	blk_start_plug(&plug);
>  	for (;;) {
>  		/*


  reply	other threads:[~2024-02-08 18:29 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-08 17:20 [PATCH 0/7] Fixes and cleanups to fs-writeback Kemeng Shi
2024-02-08 17:20 ` [PATCH 1/7] fs/writeback: avoid to writeback non-expired inode in kupdate writeback Kemeng Shi
2024-02-08 18:29   ` Tim Chen [this message]
2024-02-18  2:01     ` Kemeng Shi
2024-02-28  1:46       ` Kemeng Shi
2024-02-23 13:42   ` Jan Kara
2024-02-26 11:47     ` Kemeng Shi
2024-02-08 17:20 ` [PATCH 2/7] fs/writeback: bail out if there is no more inodes for IO and queued once Kemeng Shi
2024-02-08 19:21   ` Tim Chen
2024-02-18  2:11     ` Kemeng Shi
2024-02-23 13:49   ` Jan Kara
2024-02-08 17:20 ` [PATCH 3/7] fs/writeback: remove unused parameter wb of finish_writeback_work Kemeng Shi
2024-02-08 19:26   ` Tim Chen
2024-02-23 13:49   ` Jan Kara
2024-02-08 17:20 ` [PATCH 4/7] fs/writeback: remove unneeded check in writeback_single_inode Kemeng Shi
2024-02-08 19:34   ` Tim Chen
2024-02-10  0:46   ` Dave Chinner
2024-02-18  2:37     ` Kemeng Shi
2024-02-08 17:20 ` [PATCH 5/7] fs/writeback: only calculate dirtied_before when b_io is empty Kemeng Shi
2024-02-23 13:58   ` Jan Kara
2024-02-26 11:50     ` Kemeng Shi
2024-02-08 17:20 ` [PATCH 6/7] fs/writeback: correct comment of __wakeup_flusher_threads_bdi Kemeng Shi
2024-02-23 13:59   ` Jan Kara
2024-02-08 17:20 ` [PATCH 7/7] fs/writeback: remove unnecessary return in writeback_inodes_sb Kemeng Shi
2024-02-23 13:59   ` 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=ba75294dfb5bf4dd046d54de6c3e57698592dacc.camel@linux.intel.com \
    --to=tim.c.chen@linux.intel.com \
    --cc=brauner@kernel.org \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shikemeng@huaweicloud.com \
    --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.