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

From: Timur Tabi
Date: Fri Apr 22 2005 - 12:58:27 EST


Arjan van de Ven wrote:
On Mon, 2005-04-18 at 11:09 -0500, Timur Tabi wrote:

Roland Dreier wrote:

Troy> How is memory pinning handled? (I haven't had time to read
Troy> all the code, so please excuse my ignorance of something
Troy> obvious).

The userspace library calls mlock() and then the kernel does
get_user_pages().

Why do you call mlock() and get_user_pages()? In our code, we only call mlock(), and the memory is pinned.


this is a myth; linux is free to move the page about in physical memory
even if it's mlock()ed!!

Can you tell me when Linux actually does this? I know in theory it can happen, but I've never seen it. Does the code to implement moving of data from one physical page to another even exist in any version of Linux?

Also, what would be the point? What reason would there be to move some data from one physical page to another, while keeping the same virtual address?

--
Timur Tabi
Staff Software Engineer
timur.tabi@xxxxxxxxxxx

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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/