mbox series

[00/14] Clean up the writeback paths

Message ID 20231215200245.748418-1-willy@infradead.org (mailing list archive)
Headers show
Series Clean up the writeback paths | expand

Message

Matthew Wilcox (Oracle) Dec. 15, 2023, 8:02 p.m. UTC
I don't think any of this conflicts with the writeback refactoring that
Christoph has kindly taken over from me, although we might want to redo
patch 13 on that infrastructure rather than using write_cache_pages().
That can be a later addition.

Most of these patches verge on the trivial, converting filesystems that
just use block_write_full_page() to use mpage_writepages().  But as we
saw with Christoph's earlier patchset, there can be some "interesting"
gotchas, and I clearly haven't tested the majority of filesystems I've
touched here.

Patches 3 & 4 get rid of a lot of stack usage on architectures with
larger page sizes; 1024 bytes on 64-bit systems with 64KiB pages.
It starts to open the door to larger folio sizes on all architectures,
but it's certainly not enough yet.

Patch 14 is kind of trivial, but it's nice to get that simplification in.

Matthew Wilcox (Oracle) (14):
  fs: Remove clean_page_buffers()
  fs: Convert clean_buffers() to take a folio
  fs: Reduce stack usage in __mpage_writepage
  fs: Reduce stack usage in do_mpage_readpage
  adfs: Remove writepage implementation
  bfs: Remove writepage implementation
  hfs: Really remove hfs_writepage
  hfsplus: Really remove hfsplus_writepage
  minix: Remove writepage implementation
  ocfs2: Remove writepage implementation
  sysv: Remove writepage implementation
  ufs: Remove writepage implementation
  fs: Convert block_write_full_page to block_write_full_folio
  fs: Remove the bh_end_io argument from __block_write_full_folio

 block/fops.c                | 21 +++++++++++--
 fs/adfs/inode.c             | 11 ++++---
 fs/bfs/file.c               |  9 ++++--
 fs/buffer.c                 | 36 ++++++++++-----------
 fs/ext4/page-io.c           |  2 +-
 fs/gfs2/aops.c              |  6 ++--
 fs/hfs/inode.c              |  8 ++---
 fs/hfsplus/inode.c          |  8 ++---
 fs/minix/inode.c            |  9 ++++--
 fs/mpage.c                  | 62 +++++++++++++++++--------------------
 fs/ntfs/aops.c              |  4 +--
 fs/ocfs2/alloc.c            |  2 +-
 fs/ocfs2/aops.c             | 15 ++++-----
 fs/ocfs2/file.c             |  2 +-
 fs/ocfs2/ocfs2_trace.h      |  2 --
 fs/sysv/itree.c             |  9 ++++--
 fs/ufs/inode.c              | 11 ++++---
 include/linux/buffer_head.h |  9 ++----
 18 files changed, 115 insertions(+), 111 deletions(-)

Comments

Jens Axboe Dec. 16, 2023, 8:51 p.m. UTC | #1
On 12/15/23 1:02 PM, Matthew Wilcox (Oracle) wrote:
> I don't think any of this conflicts with the writeback refactoring that
> Christoph has kindly taken over from me, although we might want to redo
> patch 13 on that infrastructure rather than using write_cache_pages().
> That can be a later addition.
> 
> Most of these patches verge on the trivial, converting filesystems that
> just use block_write_full_page() to use mpage_writepages().  But as we
> saw with Christoph's earlier patchset, there can be some "interesting"
> gotchas, and I clearly haven't tested the majority of filesystems I've
> touched here.
> 
> Patches 3 & 4 get rid of a lot of stack usage on architectures with
> larger page sizes; 1024 bytes on 64-bit systems with 64KiB pages.
> It starts to open the door to larger folio sizes on all architectures,
> but it's certainly not enough yet.
> 
> Patch 14 is kind of trivial, but it's nice to get that simplification in.

Series looks good to me:

Reviewed-by: Jens Axboe <axboe@kernel.dk>