RDMA-Using the QP states

Reset state

QP可以通过两种方式获得Reset:
1:通过创建它
2:通过调用ibv_modify_qp()将其从任何其他状态移动到Reset状态
在创建QP时,需要花费一些时间来创建它(有上下文切换、为工作队列缓冲区分配内存、QP编号分配等)。

如果需要在快速路径中使用新的QP,较好的替代方法如下:
Create a QP
Use the QP (modify to RTS and send/receive data)
Destroy the QP
可以是:只创建一次QP,然后在需要时执行以下操作:
Use the QP (modify to RTS and send/receive data)
Modify the QP to Reset for later use

当QP不再被需要时,它可以被摧毁。
重用相同的QP可能比每次创建它更快。将QP从任何其他状态移动到Reset状态将清除前一个事务的所有“剩余”(例如发送和接收队列中的工作请求和完成)。
但是,不建议在相同的节点之间使用相同的qp,因为可能会出现意外的结果(包丢失)。
将QP移到Reset状态将阻止QP发送或接收报文。

Init state

当QP移动到RTR状态时,QP将处理传入的报文。如果由于任何原因(例如:操作系统调度程序没有给该进

你可能感兴趣的:(RDMA,1024程序员节)