Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 25 Apr 2005 18:21:51 -0500 | From | Timur Tabi <> | Subject | Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation |
| |
Andrew Morton wrote:
> They are permanent until someone runs put_page() against all the pages. > What I'm saying is that all current callers of get_user_pages() _do_ run > put_page() within the same syscall or upon I/O termination.
Oh, okay then. I guess I'll get back to work!
Actually, with RDMA, "I/O termination" technically doesn't happen until the memory is deregistered. When the memory is registered, all that means is that it's should be pinned and the virtual-to-physical should be stored. No actual I/O occurs at that point.
>>If you look at the Infiniband code that was recently submitted, I think you'll see it does >>exactly that: after calling mlock(), the driver calls get_user_pages(), and it stores the >>page mappings for future > > Where?
I was talking about the code that Roland mentioned in the first message of this thread - the user-space verbs support. He said the code calls mlock() and get_user_pages().
FYI, our driver detects the process termination and cleans up everything itself.
-- Timur Tabi Staff Software Engineer timur.tabi@ammasso.com
One thing a Southern boy will never say is, "I don't think duct tape will fix it." -- Ed Smylie, NASA engineer for Apollo 13 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |