linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v5 0/2] fuse: work queues to invalided dentries
@ 2025-08-28 16:29 Luis Henriques
  2025-08-28 16:29 ` [RFC PATCH v5 1/2] fuse: new work queue to periodically invalidate expired dentries Luis Henriques
  2025-08-28 16:29 ` [RFC PATCH v5 2/2] fuse: new work queue to invalidate dentries from old epochs Luis Henriques
  0 siblings, 2 replies; 3+ messages in thread
From: Luis Henriques @ 2025-08-28 16:29 UTC (permalink / raw)
  To: Miklos Szeredi
  Cc: Bernd Schubert, Laura Promberger, Dave Chinner, Matt Harvey,
	linux-fsdevel, kernel-dev, linux-kernel, Luis Henriques

Hi Miklos,

Since there are huge changes in v5, I decided to send an early version of
this patch(set).  I'm sure there are bugs and stupid mistakes, but I'd
love to get some early feedback before further testing it.  And that's why
I also decided to add back the RFC tag to the subject.

One annoying effect of making the dentries trees global data structures is
that it makes things more complicated to handle epoch changes (2nd patch).
It forces the work queue to walk through *all* the dentries in *all* the
trees.

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 (2):
  fuse: new work queue to periodically invalidate expired dentries
  fuse: new work queue to invalidate dentries from old epochs

 fs/fuse/dev.c    |   7 +-
 fs/fuse/dir.c    | 251 +++++++++++++++++++++++++++++++++++++++++++----
 fs/fuse/fuse_i.h |  13 +++
 fs/fuse/inode.c  |  48 +++++----
 4 files changed, 276 insertions(+), 43 deletions(-)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-08-28 16:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-28 16:29 [RFC PATCH v5 0/2] fuse: work queues to invalided dentries Luis Henriques
2025-08-28 16:29 ` [RFC PATCH v5 1/2] fuse: new work queue to periodically invalidate expired dentries Luis Henriques
2025-08-28 16:29 ` [RFC PATCH v5 2/2] fuse: new work queue to invalidate dentries from old epochs Luis Henriques

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