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

Reply via email to