From: Christoph Hellwig <hch@infradead.org>
To: David Howells <dhowells@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>,
jlayton@redhat.com, smfrench@gmail.com, hch@infradead.org,
willy@infradead.org, linux-fsdevel@vger.kernel.org
Subject: Re: [RFC][PATCH] iov_iter: Add extraction functions
Date: Tue, 18 Oct 2022 07:48:43 -0700 [thread overview]
Message-ID: <Y068y8iHwL8Q9Qdk@infradead.org> (raw)
In-Reply-To: <281330.1666103382@warthog.procyon.org.uk>
On Tue, Oct 18, 2022 at 03:29:42PM +0100, David Howells wrote:
> Note that iov_iter_get_pages2() doesn't handle KVEC-class iterators, which
> this code does - for kmalloc'd, vmalloc'd and vmap'd memory and for global and
> stack variables. What I've written gets the physical addresses but
> doesn't/can't pin it (which probably means I can't just move my code into
> iov_iter_get_pages2()).
Please look at the long discussion on Ira's patches for
iov_iter_pin_pages where we went through this over and over again.
We need to handle all of these in the common helper.
> Further, my code also treats multipage folios as single units which
> iov_iter_get_pages2() also doesn't - at least from XARRAY-class iterators.
>
> The UBUF-/IOVEC-extraction code doesn't handle multipage folios because
> get_user_pages_fast() doesn't - though perhaps it will need to at some point.
Yes, we need to be smarter about folios. But that is nothing magic
about network file systems. I have old patches that added a (barely
working) variant of get_user_pages_fast that exported bio_vecs and I
think willy planned to look into a folio based version of get/pin
user pages. But one thing at a time. I think the work from Ira to
switch to proper pinning and sort out the weirdnesses for non-users
buffer types is the first priority. After that proper folio or large
contiguous range support is another item. But none of that is helped
by parallel infrastructure.
prev parent reply other threads:[~2022-10-18 14:48 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-09 23:18 [RFC][PATCH] iov_iter: Add extraction functions David Howells
2022-09-24 2:22 ` Al Viro
2022-10-14 12:22 ` David Howells
2022-10-18 14:29 ` David Howells
2022-10-18 14:48 ` Christoph Hellwig [this message]
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=Y068y8iHwL8Q9Qdk@infradead.org \
--to=hch@infradead.org \
--cc=dhowells@redhat.com \
--cc=jlayton@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=smfrench@gmail.com \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@infradead.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 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).