IB user verbs介绍
进程直接IO访问,要求物理内存一直驻留在进程的虚拟地址上,即要求物理内存钉在进程指定的虚拟地址上。IB uverbs模块通过get_user_pages()和put_page()来实现钉住物理内存和解绑的需求,并且用进程pinned_vm变量对钉住的物理内存计数,从而确保进程钉住的物理内存不会超过RLIMIT_MEMLOCK的限制。IB uverbs模块是基于Linux字符设备驱动框架下实现的,所有IB资源的创建和销毁都是通过文件描述符的命令实现,内核负责记录给到指定进程上下文的资源。












