Quoting r. Libor Michalek <[EMAIL PROTECTED]>:
> Subject: Re: RFC on SDP checkin
> Possible Issues
> 
>   
> [...] 
> 
>   - Memory locking for AIO requires a call to do_mlock() which is not a
>     kernel exported function, the method for calling the function is not
>     standard.

Libor, in my eyes this is the biggest issue with this gen2 sdp code.
In short, I dont think using do_mlock is a good idea.
Even if do_mlock *would* be exported, using this call to
do user page locking has other limitations:

- number of locked pages is very restricted, if its not,
  user can easily DOS the box
- fork() is broken in many ways
- user is forbidden from doing mlock/munlock

This may work well enough for things like MPI where
software may be rewritten for infiniband use, but SDP
shall provide migration path for legacy applications without
code changes.

I would like to suggest, once again, that the standard get_user_pages
call is used, instead. It is true that virtual mappings may change,
but it is easy to check that once the transaction is complete,
and perform copy if this happends.

Mellanox implemented and benchmarked this on Gen1 with good results.

If you are interested, I may post the design document for how this
works for us, or I can try and find some time to build a patch.
However, the second option wont happend till the end of
the month, and the patch is likely to be quite big.


-- 
MST - Michael S. Tsirkin
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to