From: Matthew Wilcox <willy@infradead.org>
To: linux-fsdevel@vger.kernel.org
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
linux-btrfs@vger.kernel.org, linux-erofs@lists.ozlabs.org,
linux-ext4@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-xfs@vger.kernel.org, cluster-devel@redhat.com,
ocfs2-devel@oss.oracle.com
Subject: [PATCH 00/12] Change readahead API
Date: Fri, 24 Jan 2020 17:35:41 -0800 [thread overview]
Message-ID: <20200125013553.24899-1-willy@infradead.org> (raw)
From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
This series adds a readahead address_space operation to eventually
replace the readpages operation. The key difference is that
pages are added to the page cache as they are allocated (and
then looked up by the filesystem) instead of passing them on a
list to the readpages operation and having the filesystem add
them to the page cache. It's a net reduction in code for each
implementation, more efficient than walking a list, and solves
the direct-write vs buffered-read problem reported by yu kuai at
https://lore.kernel.org/linux-fsdevel/20200116063601.39201-1-yukuai3@huawei.com/
Matthew Wilcox (Oracle) (12):
mm: Fix the return type of __do_page_cache_readahead
readahead: Ignore return value of ->readpages
readahead: Put pages in cache earlier
mm: Add readahead address space operation
fs: Convert mpage_readpages to mpage_readahead
btrfs: Convert from readpages to readahead
erofs: Convert uncompressed files from readpages to readahead
erofs: Convert compressed files from readpages to readahead
ext4: Convert from readpages to readahead
f2fs: Convert from readpages to readahead
fuse: Convert from readpages to readahead
iomap: Convert from readpages to readahead
Documentation/filesystems/locking.rst | 7 ++-
Documentation/filesystems/vfs.rst | 11 ++++
drivers/staging/exfat/exfat_super.c | 9 ++--
fs/block_dev.c | 9 ++--
fs/btrfs/extent_io.c | 15 ++----
fs/btrfs/extent_io.h | 2 +-
fs/btrfs/inode.c | 18 +++----
fs/erofs/data.c | 34 +++++-------
fs/erofs/zdata.c | 21 +++-----
fs/ext2/inode.c | 12 ++---
fs/ext4/ext4.h | 2 +-
fs/ext4/inode.c | 24 ++++-----
fs/ext4/readpage.c | 20 +++----
fs/f2fs/data.c | 33 +++++-------
fs/fat/inode.c | 8 +--
fs/fuse/file.c | 35 ++++++------
fs/gfs2/aops.c | 20 ++++---
fs/hpfs/file.c | 8 +--
fs/iomap/buffered-io.c | 74 ++++++--------------------
fs/iomap/trace.h | 2 +-
fs/isofs/inode.c | 9 ++--
fs/jfs/inode.c | 8 +--
fs/mpage.c | 38 +++++---------
fs/nilfs2/inode.c | 13 ++---
fs/ocfs2/aops.c | 32 +++++------
fs/omfs/file.c | 8 +--
fs/qnx6/inode.c | 8 +--
fs/reiserfs/inode.c | 10 ++--
fs/udf/inode.c | 8 +--
fs/xfs/xfs_aops.c | 10 ++--
include/linux/fs.h | 2 +
include/linux/iomap.h | 2 +-
include/linux/mpage.h | 2 +-
include/linux/pagemap.h | 12 +++++
include/trace/events/erofs.h | 6 +--
include/trace/events/f2fs.h | 6 +--
mm/internal.h | 2 +-
mm/migrate.c | 2 +-
mm/readahead.c | 76 +++++++++++++++++----------
39 files changed, 289 insertions(+), 329 deletions(-)
--
2.24.1
next reply other threads:[~2020-01-25 1:36 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-25 1:35 Matthew Wilcox [this message]
2020-01-25 1:35 ` [PATCH 01/12] mm: Fix the return type of __do_page_cache_readahead Matthew Wilcox
2020-01-25 1:35 ` [PATCH 02/12] readahead: Ignore return value of ->readpages Matthew Wilcox
2020-01-25 1:35 ` [PATCH 03/12] readahead: Put pages in cache earlier Matthew Wilcox
2020-01-25 19:44 ` Matthew Wilcox
2020-01-25 1:35 ` [PATCH 04/12] mm: Add readahead address space operation Matthew Wilcox
2020-01-25 3:57 ` Randy Dunlap
2020-02-01 0:25 ` Matthew Wilcox
2020-01-29 0:24 ` Dave Chinner
2020-01-30 8:00 ` Matthew Wilcox
2020-01-25 1:35 ` [PATCH 05/12] fs: Convert mpage_readpages to mpage_readahead Matthew Wilcox
2020-01-25 1:35 ` [PATCH 06/12] btrfs: Convert from readpages to readahead Matthew Wilcox
2020-01-29 0:46 ` Dave Chinner
2020-01-30 8:09 ` Matthew Wilcox
2020-01-31 2:17 ` Dave Chinner
2020-01-25 1:35 ` [PATCH 07/12] erofs: Convert uncompressed files " Matthew Wilcox
2020-01-25 1:53 ` Gao Xiang
2020-01-25 19:09 ` Matthew Wilcox
2020-01-29 0:57 ` Dave Chinner
2020-01-30 8:10 ` Matthew Wilcox
2020-01-25 1:35 ` [PATCH 08/12] erofs: Convert compressed " Matthew Wilcox
2020-01-25 1:35 ` [PATCH 09/12] ext4: Convert " Matthew Wilcox
2020-01-25 1:35 ` [PATCH 10/12] f2fs: " Matthew Wilcox
2020-01-25 1:35 ` [PATCH 11/12] fuse: " Matthew Wilcox
2020-01-29 1:08 ` Dave Chinner
2020-01-30 21:35 ` Matthew Wilcox
2020-01-31 2:19 ` Dave Chinner
2020-01-29 10:50 ` Miklos Szeredi
2020-01-30 7:26 ` Matthew Wilcox
2020-01-25 1:35 ` [PATCH 12/12] iomap: " Matthew Wilcox
2020-01-29 1:38 ` Dave Chinner
2020-01-31 9:44 ` Matthew Wilcox
2020-02-13 4:38 ` [PATCH 00/12] Change readahead API Andrew Morton
2020-02-13 13:43 ` Matthew Wilcox
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=20200125013553.24899-1-willy@infradead.org \
--to=willy@infradead.org \
--cc=cluster-devel@redhat.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-erofs@lists.ozlabs.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-xfs@vger.kernel.org \
--cc=ocfs2-devel@oss.oracle.com \
/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).