On Tue, Sep 06, 2022 at 12:37:00AM -0700, John Hubbard wrote:
On 9/6/22 00:22, Christoph Hellwig wrote:
quoted
On Tue, Sep 06, 2022 at 12:10:54AM -0700, John Hubbard wrote:
quoted
I would be delighted if that were somehow possible. Every time I think
it's possible, it has fallen apart. The fact that bio_release_pages()
will need to switch over from put_page() to unpin_user_page(), combined
with the fact that there are a lot of callers that submit bios, has
led me to the current approach.
We can (temporarily) pass the gup flag to bio_release_pages or even
better add a new bio_unpin_pages helper that undoes the pin side.
That is: don't try to reuse the old APIs, but ad new ones, just like
we do on the lower layers.
OK...so, to confirm: the idea is to convert these callsites (below) to
call a new bio_unpin_pages() routine that does unpin_user_page().
Yeah. And to stay symmetric also a new bio_iov_iter_pin_pages for
the pin side.