linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 00/11] fuse: support large folios
@ 2025-05-12 22:58 Joanne Koong
  2025-05-12 22:58 ` [PATCH v6 01/11] fuse: support copying " Joanne Koong
                   ` (11 more replies)
  0 siblings, 12 replies; 23+ messages in thread
From: Joanne Koong @ 2025-05-12 22:58 UTC (permalink / raw)
  To: miklos
  Cc: linux-fsdevel, bernd.schubert, jlayton, jefflexu, josef, willy,
	kernel-team

This patchset adds support for large folios in fuse.

This does not yet switch fuse to using large folios. Using large folios in
fuse is dependent on adding granular dirty-page tracking. This will be done
in a separate patchset that will have fuse use iomap [1]. There also needs
to be a followup (also part of future work) for having dirty page balancing
not tank performance for unprivileged servers where bdi limits lead to subpar
throttling [1], before enabling large folios for fuse.

[1] https://lore.kernel.org/linux-fsdevel/CAJnrk1a38pv3OgFZRfdTiDMXuPWuBgN8KY47XfOsYHj=N2wxAg@mail.gmail.com/#t

Changelog:
v5:
https://lore.kernel.org/linux-fsdevel/20250426000828.3216220-1-joannelkoong@gmail.com/
v5 -> v6:
* Add Bernd's reviewed-bys
* Iniitalize err to 0 for refactoring fuse_fill_write_pages()
  (Dan and syzbot)
* Add comment for readahead about size of large folio (Bernd)
* Use WARN_ON for readahead size sanity-checking

v4:
https://lore.kernel.org/linux-fsdevel/20250123012448.2479372-1-joannelkoong@gmail.com/
v4 -> v5:
* Now that temp pages are removed in FUSE, resubmit v3.
 
v3:
https://lore.kernel.org/linux-fsdevel/20241213221818.322371-1-joannelkoong@gmail.com/
v3 -> v4:
* Add Jeff's reviewed-bys
* Drop writeback large folios changes, drop turning large folios on. These
  will be part of a separate future patchset

v2:
https://lore.kernel.org/linux-fsdevel/20241125220537.3663725-1-joannelkoong@gmail.com/
v2 -> v3:
* Fix direct io parsing to check each extracted page instead of assuming all
  pages in a large folio will be used (Matthew)

v1:
https://lore.kernel.org/linux-fsdevel/20241109001258.2216604-1-joannelkoong@gmail.com/
v1 -> v2:
* Change naming from "non-writeback write" to "writethrough write"
* Fix deadlock for writethrough writes by calling fault_in_iov_iter_readable()
* first
  before __filemap_get_folio() (Josef)
* For readahead, retain original folio_size() for descs.length (Josef)
* Use folio_zero_range() api in fuse_copy_folio() (Josef)
* Add Josef's reviewed-bys

Joanne Koong (11):
  fuse: support copying large folios
  fuse: support large folios for retrieves
  fuse: refactor fuse_fill_write_pages()
  fuse: support large folios for writethrough writes
  fuse: support large folios for folio reads
  fuse: support large folios for symlinks
  fuse: support large folios for stores
  fuse: support large folios for queued writes
  fuse: support large folios for readahead
  fuse: optimize direct io large folios processing
  fuse: support large folios for writeback

 fs/fuse/dev.c        | 126 ++++++++++++++++++-----------------
 fs/fuse/dir.c        |   8 +--
 fs/fuse/file.c       | 153 +++++++++++++++++++++++++++++--------------
 fs/fuse/fuse_dev_i.h |   2 +-
 4 files changed, 172 insertions(+), 117 deletions(-)

-- 
2.47.1


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

end of thread, other threads:[~2025-05-16  9:47 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-12 22:58 [PATCH v6 00/11] fuse: support large folios Joanne Koong
2025-05-12 22:58 ` [PATCH v6 01/11] fuse: support copying " Joanne Koong
2025-05-14  0:18   ` Matthew Wilcox
2025-05-14 22:59     ` Joanne Koong
2025-05-15  2:05       ` Matthew Wilcox
2025-05-15 18:50         ` Joanne Koong
2025-05-15  8:26     ` Miklos Szeredi
2025-05-15 17:53       ` Joanne Koong
2025-05-16  9:47         ` Miklos Szeredi
2025-05-12 22:58 ` [PATCH v6 02/11] fuse: support large folios for retrieves Joanne Koong
2025-05-12 22:58 ` [PATCH v6 03/11] fuse: refactor fuse_fill_write_pages() Joanne Koong
2025-05-12 22:58 ` [PATCH v6 04/11] fuse: support large folios for writethrough writes Joanne Koong
2025-05-12 22:58 ` [PATCH v6 05/11] fuse: support large folios for folio reads Joanne Koong
2025-05-12 22:58 ` [PATCH v6 06/11] fuse: support large folios for symlinks Joanne Koong
2025-05-12 22:58 ` [PATCH v6 07/11] fuse: support large folios for stores Joanne Koong
2025-05-12 22:58 ` [PATCH v6 08/11] fuse: support large folios for queued writes Joanne Koong
2025-05-12 22:58 ` [PATCH v6 09/11] fuse: support large folios for readahead Joanne Koong
2025-05-12 22:58 ` [PATCH v6 10/11] fuse: optimize direct io large folios processing Joanne Koong
2025-05-13  7:19   ` Miklos Szeredi
2025-05-13 20:39     ` Joanne Koong
2025-05-15  8:27       ` Miklos Szeredi
2025-05-12 22:58 ` [PATCH v6 11/11] fuse: support large folios for writeback Joanne Koong
2025-05-13  7:32 ` [PATCH v6 00/11] fuse: support large folios Miklos Szeredi

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