Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation

Roland Dreier
2005-04-11T15:58:48Z

Troy> How is memory pinning handled? (I haven't had time to read
Troy> all the code, so please excuse my ignorance of something
Troy> obvious).

The userspace library calls mlock() and then the kernel does
get_user_pages().

Troy> The old mellanox drivers used to have a hack to call
Troy> 'sys_mlock', and promiscuously lock memory any old userspace
Troy> application asked for. What is the API for the new uverbs
Troy> memory registration, and how will things like memory hotplug
Troy> and NUMA page migration be able to unpin pages locked by a
Troy> user program?

The API for uverbs memory registration is ibv_reg_mr(), and right now
the memory is pinned and that's it.

- R.