Messages in this thread | | | Date | Tue, 6 Sep 2022 00:44:28 -0700 | Subject | Re: [PATCH v2 4/7] iov_iter: new iov_iter_pin_pages*() routines | From | John Hubbard <> |
| |
On 9/5/22 23:47, Christoph Hellwig wrote: > I'd it one step back. For BVECS we never need a get or pin. The > block layer already does this, an the other callers should as well. > For KVEC the same is true. For PIPE and xarray as you pointed out > we can probably just do the pin, it is not like these are performance > paths. > > So, I'd suggest to: > > - factor out the user backed and bvec cases from > __iov_iter_get_pages_alloc into helper just to keep > __iov_iter_get_pages_alloc readable.
OK, that part is clear.
> - for the pin case don't use the existing bvec helper at all, but > copy the logic for the block layer for not pinning.
I'm almost, but not quite sure I get the idea above. Overall, what happens to bvec pages? Leave the get_page() pin in place for FOLL_GET (or USE_FOLL_GET), I suppose, but do...what, for FOLL_PIN callers?
thanks,
-- John Hubbard NVIDIA
| |