All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.