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

Arjan van de Ven arjan at infradead.org
Fri Apr 22 11:12:58 PDT 2005


On Fri, 2005-04-22 at 12:55 -0500, Timur Tabi wrote:
> 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?

hot(un)plug memory.

> 
> 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?

so that you can hot unplug the dimm in question.

I guess that's a bit of a high end though though... so maybe you don't
care about it.





More information about the general mailing list