Unless you went the whole way of not really pinning and allowing paging of registered memory. Of course before anything got paged out, you would have to call the HCA driver to mark said pages "not present". And if you hit such pages when processing a work request in the HCA, you would have to take a page fault, get the page back and resume the work request (and probably hold off the remote side with an RNR_NAK in the meantime).
This was a lively topic of conversation a long time ago in IBTA ... and probably a bigger patch to the world than people were contemplating :-). -ted
This would be nice except that it is impossible. The whole idea behind virtual memory is that the application uses virtual addresses which are only temporarily mapped to physical memory by the OS. If the OS allowed a user to lock the virtual to physical mapping for all of physical memory, the OS wouldn't be able to run any other processes, do I/O, etc. The process can have a larger virtual address space than the available physical memory so no fixed mapping is possible. To prevent this, the application has limits imposed by the OS (type "ulimit -l").
-- Ted H. Kim Sun Microsystems, Inc. [email protected] 222 North Sepulveda Blvd., 10th Floor (310) 341-1116 El Segundo, CA 90245 (310) 341-1120 FAX _______________________________________________ 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
