From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL for v6.7] vfs io updates
Date: Fri, 27 Oct 2023 16:42:35 +0200 [thread overview]
Message-ID: <20231027-vfs-io-82cd868e9b4f@brauner> (raw)
Hey Linus,
/* Summary */
This contain's David's iov_iter cleanup work to convert the iov_iter
iteration macros to inline functions:
* Remove last_offset from iov_iter as it was only used by ITER_PIPE.
* Add a __user tag on copy_mc_to_user()'s dst argument on x86 to match
that on powerpc and get rid of a sparse warning.
* Convert iter->user_backed to user_backed_iter() in the sound PCM
driver.
* Convert iter->user_backed to user_backed_iter() in a couple of
infiniband drivers.
* Renumber the type enum so that the ITER_* constants match the order in
iterate_and_advance*().
* Since the preceding patch puts UBUF and IOVEC at 0 and 1, change
user_backed_iter() to just use the type value and get rid of the extra
flag.
* Convert the iov_iter iteration macros to always-inline functions to
make the code easier to follow. It uses function pointers, but they
get optimised away.
* Move the check for ->copy_mc to _copy_from_iter() and
copy_page_from_iter_atomic() rather than in memcpy_from_iter_mc()
where it gets repeated for every segment. Instead, we check once and
invoke a side function that can use iterate_bvec() rather than
iterate_and_advance() and supply a different step function.
* Move the copy-and-csum code to net/ where it can be in proximity with
the code that uses it.
* Fold memcpy_and_csum() in to its two users.
* Move csum_and_copy_from_iter_full() out of line and merge in
csum_and_copy_from_iter() since the former is the only caller of the
latter.
* Move hash_and_copy_to_iter() to net/ where it can be with its only
caller.
/* Testing */
clang: Debian clang version 16.0.6 (16)
gcc: gcc (Debian 13.2.0-5) 13.2.0
All patches are based on v6.6-rc2 and have been sitting in linux-next.
No build failures or warnings were observed.
/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.
The following changes since commit ce9ecca0238b140b88f43859b211c9fdfd8e5b70:
Linux 6.6-rc2 (2023-09-17 14:40:24 -0700)
are available in the Git repository at:
git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.7.iov_iter
for you to fetch changes up to b5f0e20f444cd150121e0ce912ebd3f2dabd12bc:
iov_iter, net: Move hash_and_copy_to_iter() to net/ (2023-10-09 09:35:14 +0200)
Please consider pulling these changes from the signed vfs-6.7.iov_iter tag.
Thanks!
Christian
----------------------------------------------------------------
vfs-6.7.iov_iter
----------------------------------------------------------------
David Howells (12):
iov_iter: Remove last_offset from iov_iter as it was for ITER_PIPE
iov_iter, x86: Be consistent about the __user tag on copy_mc_to_user()
sound: Fix snd_pcm_readv()/writev() to use iov access functions
infiniband: Use user_backed_iter() to see if iterator is UBUF/IOVEC
iov_iter: Renumber ITER_* constants
iov_iter: Derive user-backedness from the iterator type
iov_iter: Convert iterate*() to inline funcs
iov_iter: Don't deal with iter->copy_mc in memcpy_from_iter_mc()
iov_iter, net: Move csum_and_copy_to/from_iter() to net/
iov_iter, net: Fold in csum_and_memcpy()
iov_iter, net: Merge csum_and_copy_from_iter{,_full}() together
iov_iter, net: Move hash_and_copy_to_iter() to net/
arch/x86/include/asm/uaccess.h | 2 +-
arch/x86/lib/copy_mc.c | 8 +-
drivers/infiniband/hw/hfi1/file_ops.c | 2 +-
drivers/infiniband/hw/qib/qib_file_ops.c | 2 +-
include/linux/iov_iter.h | 274 +++++++++++++++++++
include/linux/skbuff.h | 3 +
include/linux/uio.h | 34 +--
lib/iov_iter.c | 437 ++++++++++---------------------
net/core/datagram.c | 75 +++++-
net/core/skbuff.c | 40 +++
sound/core/pcm_native.c | 4 +-
11 files changed, 540 insertions(+), 341 deletions(-)
create mode 100644 include/linux/iov_iter.h
next reply other threads:[~2023-10-27 14:42 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-27 14:42 Christian Brauner [this message]
2023-10-30 20:05 ` [GIT PULL for v6.7] vfs io updates 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=20231027-vfs-io-82cd868e9b4f@brauner \
--to=brauner@kernel.org \
--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.