RDMA:如何查询轮询CQ后是否响应读取请求?

时间:2018-08-20 02:40:49

标签: rdma

我有N个qps,我将通过每个qp中的发送队列发送M个RDMA读取请求。 读取请求由ibv_post_send()发送,并使用ibv_poll_cq()反复轮询cq。

问题是,如果在调用ibv_poll_cq()之后得到一些工作完成(WC),我如何知道WC与哪个读取请求相对应?我正在使用可靠连接模式。

1 个答案:

答案 0 :(得分:2)

当您通过ibv_post_send() you are using ibv_send_wr结构发送读取请求时, 您设置的uint64_t wr_id;字段

  

wr_id-与该WR相关的64位值。如果工作完成   此工作请求结束时生成,它将包含该值。

然后在you do ibv_poll_cq()传递ibv_wc结构时,该结构将填充

  

wr_id-与相应的关联的64位值   工作要求。