From: Al Viro <viro@zeniv.linux.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: [git pull] vfs.git pile 4 - beginning of iov_iter series
Date: Wed, 3 Aug 2022 20:38:42 +0100 [thread overview]
Message-ID: <YurOwiZoOKkj+kNW@ZenIV> (raw)
The following changes since commit f2906aa863381afb0015a9eb7fefad885d4e5a56:
Linux 5.19-rc1 (2022-06-05 17:18:54 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-work.iov_iter-base
for you to fetch changes up to dd45ab9dd28c82fc495d98cd9788666fd8d76b99:
first_iovec_segment(): just return address (2022-07-06 20:32:34 -0400)
Two trivial conflicts - one in block/fops.c::dio_bio_write_op()
(one-liner in this series applied to corresponding line in mainline),
another in io_rw_init_file() which got moved from fs/io_uring.c to
io_uring/rw.c.
----------------------------------------------------------------
iov_iter work, part 1 - isolated cleanups and optimizations.
One of the goals is to reduce the overhead of using ->read_iter()
and ->write_iter() instead of ->read()/->write(); new_sync_{read,write}()
has a surprising amount of overhead, in particular inside iocb_flags().
That's why the beginning of the series is in this pile; it's not directly
iov_iter-related, but it's a part of the same work...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
----------------------------------------------------------------
Al Viro (13):
No need of likely/unlikely on calls of check_copy_size()
teach iomap_dio_rw() to suppress dsync
btrfs: use IOMAP_DIO_NOSYNC
struct file: use anonymous union member for rcuhead and llist
iocb: delay evaluation of IS_SYNC(...) until we want to check IOCB_DSYNC
keep iocb_flags() result cached in struct file
copy_page_{to,from}_iter(): switch iovec variants to generic
iov_iter_bvec_advance(): don't bother with bvec_iter
iov_iter_get_pages{,_alloc}(): cap the maxsize with MAX_RW_COUNT
iov_iter: lift dealing with maxpages out of first_{iovec,bvec}_segment()
iov_iter: first_{iovec,bvec}_segment() - simplify a bit
iov_iter: massage calling conventions for first_{iovec,bvec}_segment()
first_iovec_segment(): just return address
arch/powerpc/include/asm/uaccess.h | 2 +-
arch/s390/include/asm/uaccess.h | 4 +-
block/fops.c | 2 +-
drivers/nvme/target/io-cmd-file.c | 2 +-
fs/aio.c | 2 +-
fs/btrfs/file.c | 19 +--
fs/btrfs/inode.c | 3 +-
fs/direct-io.c | 2 +-
fs/fcntl.c | 1 +
fs/file_table.c | 17 +--
fs/fuse/file.c | 2 +-
fs/io_uring.c | 2 +-
fs/iomap/direct-io.c | 19 +--
fs/open.c | 1 +
fs/zonefs/super.c | 2 +-
include/linux/fs.h | 21 +--
include/linux/iomap.h | 6 +
include/linux/uaccess.h | 4 +-
include/linux/uio.h | 15 +-
lib/iov_iter.c | 283 +++++++------------------------------
20 files changed, 113 insertions(+), 296 deletions(-)
next reply other threads:[~2022-08-03 19:38 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-03 19:38 Al Viro [this message]
2022-08-03 21:13 ` [git pull] vfs.git pile 4 - beginning of iov_iter series pr-tracker-bot
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=YurOwiZoOKkj+kNW@ZenIV \
--to=viro@zeniv.linux.org.uk \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.