[ofa-general] Re: New proposal for memory management

Jason Gunthorpe jgunthorpe at obsidianresearch.com
Wed Apr 29 15:44:11 PDT 2009


On Wed, Apr 29, 2009 at 03:28:00PM -0700, Ralph Campbell wrote:

> Besides, mmap() only allocates a virtual address range in the user's
> address space. It doesn't fault in all the pages into physical memory.
> That happens when the application tries to read or write memory in
> the VA range of the mmap. The IB memory registrations need physical
> addresses and it would be impractical to do this for every mmap or
> brk.

If your goal is to keep the mr consistent then you only need to fault
and pin pages from the new mmap that intersect with pre-existing
memory registrations.

I chucked out 3 things to consider:
 - Pin and register all process memory (no swap!)
 - Keep the MR consistent by pinning and registering new mmaps
   that intersect with pre-existing memory registrations
 - Keep the MR consistent by preventing the kernel from returning
   new mmaps that overlap existing memory registrations.

Jason



More information about the general mailing list