All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luis Henriques <luis@igalia.com>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: Bernd Schubert <bernd@bsbernd.com>,
	 Laura Promberger <laura.promberger@cern.ch>,
	 Dave Chinner <david@fromorbit.com>,
	 Matt Harvey <mharvey@jumptrading.com>,
	 linux-fsdevel@vger.kernel.org, kernel-dev@igalia.com,
	 linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v6 0/4] fuse: work queues to invalided dentries
Date: Mon, 20 Oct 2025 14:17:33 +0100	[thread overview]
Message-ID: <877bwp4sr6.fsf@igalia.com> (raw)
In-Reply-To: <20250916135310.51177-1-luis@igalia.com> (Luis Henriques's message of "Tue, 16 Sep 2025 14:53:06 +0100")

Hey Miklos,

On Tue, Sep 16 2025, Luis Henriques wrote:

> Hi Miklos,
>
> Here's a new version of the patchset to invalidate expired dentries.  Most
> of the changes (and there are a lot of them!) result from the v5 review.
> See below for details.

Just a gentle ping to make sure it doesn't fall through the cracks.

Cheers,
-- 
Luís


> Changes since v5:
>
> - Changes to dcache: export shrink_dentry_list() and add new helper
>   d_dispose_if_unused()
> - Reduced hash lock array size
> - Set 'inval_wq' max value to USHRT_MAX to prevent a potential overflow in
>   secs_to_jiffies()
> - Updated 'inval_wq' parameter description and comment
> - Removed useless check in fuse_dentry_tree_del_node()
> - Make fuse_dentry_tree_work() use dcache helpers d_dispose_if_unused() and
>   shrink_dentry_list()
> - Fix usage of need_resched() (replaced with cond_resched())
> - fuse_dentry_tree_cleanup() now simply does a WARN_ON() if there are
>   non-empty trees
> - Removed TODO comment in fuse_conn_destroy() -- no need to prune trees
> - Have fuse_epoch_work() use of shrink_dcache_sb() instead of going through
>   all the trees
> - Refactor fuse_conn_put() in a separate patch
> - Fix bug in fuse_dentry_tree_add_node() for cases where dentries have the
>   same timeout
> - Reword some of the commits text
>
> Changes since v4:
>  
> - Dropped extra check in fuse_dentry_tree_add_node() (Chunsheng)
> - Make the dentries trees global instead of per fuse_conn (Miklos)
> - Protect trees with hashed locking instead of a single lock (Miklos)
> - Added new work queue (2nd patch) specifically to handle epoch (Miklos)
>  
> Changes since v3:
>  
> - Use of need_resched() instead of limiting the work queue to run for 5
>   seconds
> - Restore usage of union with rcu_head, in struct fuse_dentry
> - Minor changes in comments (e.g. s/workqueue/work queue/)
>  
> Changes since v2:
>  
> - Major rework, the dentries tree nodes are now in fuse_dentry and they are
>   tied to the actual dentry lifetime
> - Mount option is now a module parameter
> - workqueue now runs for at most 5 seconds before rescheduling
>
> Luis Henriques (4):
>   dcache: export shrink_dentry_list() and new helper
>     d_dispose_if_unused()
>   fuse: new work queue to periodically invalidate expired dentries
>   fuse: new work queue to invalidate dentries from old epochs
>   fuse: refactor fuse_conn_put() to remove negative logic.
>
>  fs/dcache.c            |  18 ++--
>  fs/fuse/dev.c          |   7 +-
>  fs/fuse/dir.c          | 237 +++++++++++++++++++++++++++++++++++++----
>  fs/fuse/fuse_i.h       |  14 +++
>  fs/fuse/inode.c        |  44 ++++----
>  include/linux/dcache.h |   2 +
>  6 files changed, 273 insertions(+), 49 deletions(-)
>

  parent reply	other threads:[~2025-10-20 13:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-16 13:53 [RFC PATCH v6 0/4] fuse: work queues to invalided dentries Luis Henriques
2025-09-16 13:53 ` [RFC PATCH v6 1/4] dcache: export shrink_dentry_list() and add new helper d_dispose_if_unused() Luis Henriques
2025-09-16 13:53 ` [RFC PATCH v6 2/4] fuse: new work queue to periodically invalidate expired dentries Luis Henriques
2025-09-16 13:53 ` [RFC PATCH v6 3/4] fuse: new work queue to invalidate dentries from old epochs Luis Henriques
2025-09-16 13:53 ` [RFC PATCH v6 4/4] fuse: refactor fuse_conn_put() to remove negative logic Luis Henriques
2025-10-20 13:17 ` Luis Henriques [this message]
2025-11-13  9:02 ` [RFC PATCH v6 0/4] fuse: work queues to invalided dentries Miklos Szeredi
2025-11-13  9:43   ` Luis Henriques

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=877bwp4sr6.fsf@igalia.com \
    --to=luis@igalia.com \
    --cc=bernd@bsbernd.com \
    --cc=david@fromorbit.com \
    --cc=kernel-dev@igalia.com \
    --cc=laura.promberger@cern.ch \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mharvey@jumptrading.com \
    --cc=miklos@szeredi.hu \
    /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.