From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>,
Christoph Hellwig <hch@lst.de>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-block@vger.kernel.org
Subject: [PATCH 00/14] Clean up the writeback paths
Date: Fri, 15 Dec 2023 20:02:31 +0000 [thread overview]
Message-ID: <20231215200245.748418-1-willy@infradead.org> (raw)
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(-)
--
2.42.0
next reply other threads:[~2023-12-15 20:02 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-15 20:02 Matthew Wilcox (Oracle) [this message]
2023-12-15 20:02 ` [PATCH 01/14] fs: Remove clean_page_buffers() Matthew Wilcox (Oracle)
2023-12-16 4:27 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 02/14] fs: Convert clean_buffers() to take a folio Matthew Wilcox (Oracle)
2023-12-16 4:27 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 03/14] fs: Reduce stack usage in __mpage_writepage Matthew Wilcox (Oracle)
2023-12-16 4:29 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 04/14] fs: Reduce stack usage in do_mpage_readpage Matthew Wilcox (Oracle)
2023-12-16 4:29 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 05/14] adfs: Remove writepage implementation Matthew Wilcox (Oracle)
2023-12-16 4:31 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 06/14] bfs: " Matthew Wilcox (Oracle)
2023-12-17 16:48 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 07/14] hfs: Really remove hfs_writepage Matthew Wilcox (Oracle)
2023-12-18 4:31 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 08/14] hfsplus: Really remove hfsplus_writepage Matthew Wilcox (Oracle)
2023-12-16 4:33 ` Christoph Hellwig
2023-12-18 10:41 ` Johannes Thumshirn
2023-12-18 15:04 ` Christoph Hellwig
2023-12-18 15:40 ` Johannes Thumshirn
2024-01-04 17:25 ` Jan Kara
2023-12-15 20:02 ` [PATCH 09/14] minix: Remove writepage implementation Matthew Wilcox (Oracle)
2023-12-17 16:48 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 10/14] ocfs2: " Matthew Wilcox (Oracle)
2023-12-16 4:34 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 11/14] sysv: " Matthew Wilcox (Oracle)
2023-12-17 16:48 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 12/14] ufs: " Matthew Wilcox (Oracle)
2023-12-16 4:34 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 13/14] fs: Convert block_write_full_page to block_write_full_folio Matthew Wilcox (Oracle)
2023-12-16 4:35 ` Christoph Hellwig
2023-12-15 20:02 ` [PATCH 14/14] fs: Remove the bh_end_io argument from __block_write_full_folio Matthew Wilcox (Oracle)
2023-12-20 6:36 ` Christoph Hellwig
2023-12-16 20:51 ` [PATCH 00/14] Clean up the writeback paths Jens Axboe
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=20231215200245.748418-1-willy@infradead.org \
--to=willy@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=hch@lst.de \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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 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).