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 _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
