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
