Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation

Andrew Morton
2005-04-25T22:39:56Z

Timur Tabi <timur.tabi@ammasso.com> wrote:
>
> Andrew Morton wrote:
>
> > The way we expect get_user_pages() to be used is that the kernel will use
> > get_user_pages() once per application I/O request.
>
> Are you saying that the mapping obtained by get_user_pages() is valid only within the
> context of the IOCtl call? That once the driver returns from the IOCtl, the mapping
> should no longer be used?

Yes, we expect that all the pages which get_user_pages() pinned will become
unpinned within the context of the syscall which pinned the pages. Or
shortly after, in the case of async I/O.

This is because there is no file descriptor or anything else associated
with the pages which permits the kernel to clean stuff up on unclean
application exit. Also there are the obvious issues with permitting
pinning of unbounded amounts of memory.