Re: [RFC PATCH v2 15/19] mm/gup: Introduce vaddr_pin_pages()

From: Jason Gunthorpe
Date: Mon Aug 12 2019 - 08:28:18 EST


On Fri, Aug 09, 2019 at 03:58:29PM -0700, ira.weiny@xxxxxxxxx wrote:
> From: Ira Weiny <ira.weiny@xxxxxxxxx>
>
> The addition of FOLL_LONGTERM has taken on additional meaning for CMA
> pages.
>
> In addition subsystems such as RDMA require new information to be passed
> to the GUP interface to track file owning information. As such a simple
> FOLL_LONGTERM flag is no longer sufficient for these users to pin pages.
>
> Introduce a new GUP like call which takes the newly introduced vaddr_pin
> information. Failure to pass the vaddr_pin object back to a vaddr_put*
> call will result in a failure if pins were created on files during the
> pin operation.

Is this a 'vaddr' in the traditional sense, ie does it work with
something returned by valloc?

Maybe another name would be better?

I also wish GUP like functions took in a 'void __user *' instead of
the unsigned long to make this clear :\

Jason