From: Jens Axboe <axboe@kernel.dk>
To: linux-fsdevel@vger.kernel.org
Cc: torvalds@linux-foundation.org, brauner@kernel.org,
viro@zeniv.linux.org.uk
Subject: [PATCHSET v6 0/11] Turn single segment imports into ITER_UBUF
Date: Wed, 29 Mar 2023 12:40:44 -0600 [thread overview]
Message-ID: <20230329184055.1307648-1-axboe@kernel.dk> (raw)
Hi,
Rather than repeat the same blurb again, see the v2 posting here:
https://lore.kernel.org/linux-fsdevel/20230327180449.87382-1-axboe@kernel.dk/
tldr - turn single segment iovecs into ITER_UBUF rather than ITER_IOVEC,
because they are more efficient.
Attempt 2 at doing the overlay. The series starts by adding an
iter_iov() helper, which simply returns iter->iov. At the same time we
rename it, to catch anyone using it and to further signify that future
direct uses of it should be discouraged. There are a few manual bits
left, I'll clean those up if we agree this is moving in the right
direction.
Then we get rid of returning an iovec copy with iov_iter_iovec(), and
killing off that function. Two helpers are added to return the current
segment address and length.
Then the usual few iter_is_iovec() -> iter->user_backed changes. For
the alsa part, Takashi did say that single segments could be valid.
But with the rest of the changes, this is no longer interesting as we
don't have to deal with it separately.
Finally, do the last two patches that turn single iovec segments into
ITER_UBUF at import time.
Passes testing, and verified we do the right thing for 1 and multi
segments.
Also viewable here:
https://git.kernel.dk/cgit/linux-block/log/?h=iter-ubuf.2
--
Jens Axboe
next reply other threads:[~2023-03-29 18:41 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-29 18:40 Jens Axboe [this message]
2023-03-29 18:40 ` [PATCH 01/11] block: ensure bio_alloc_map_data() deals with ITER_UBUF correctly Jens Axboe
2023-03-29 18:40 ` [PATCH 02/11] iov_iter: add iter_iovec() helper Jens Axboe
2023-03-29 18:40 ` [PATCH 03/11] iov_iter: add iter_iov_addr() and iter_iov_len() helpers Jens Axboe
2023-03-29 18:40 ` [PATCH 04/11] iov_iter: remove iov_iter_iovec() Jens Axboe
2023-03-29 18:40 ` [PATCH 05/11] iov_iter: set nr_segs = 1 for ITER_UBUF Jens Axboe
2023-03-29 18:40 ` [PATCH 06/11] iov_iter: overlay struct iovec and ubuf/len Jens Axboe
2023-03-29 19:30 ` Linus Torvalds
2023-03-29 19:38 ` Jens Axboe
2023-03-29 19:42 ` Jens Axboe
2023-03-29 19:49 ` Jens Axboe
2023-03-29 19:52 ` Linus Torvalds
2023-03-29 19:56 ` Jens Axboe
2023-03-29 19:59 ` Linus Torvalds
2023-03-29 20:01 ` Jens Axboe
2023-03-29 18:40 ` [PATCH 07/11] IB/hfi1: check for user backed iterator, not specific iterator type Jens Axboe
2023-03-29 18:40 ` [PATCH 08/11] IB/qib: " Jens Axboe
2023-03-29 18:40 ` [PATCH 09/11] ALSA: pcm: " Jens Axboe
2023-03-29 18:40 ` [PATCH 10/11] iov_iter: convert import_single_range() to ITER_UBUF Jens Axboe
2023-03-29 18:40 ` [PATCH 11/11] iov_iter: import single vector iovecs as ITER_UBUF Jens Axboe
2023-03-29 19:44 ` [PATCHSET v6 0/11] Turn single segment imports into ITER_UBUF Linus Torvalds
2023-03-29 19:55 ` 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=20230329184055.1307648-1-axboe@kernel.dk \
--to=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
/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).