RDMA:我如何知道在轮询CQ之后是否响应了读取请求?

RDMA:我如何知道在轮询CQ之后是否响应了读取请求?,rdma,Rdma,我有N个qp,我将通过每个qp中的发送队列发送M个RDMA读取请求。 读取请求由ibv\u post\u send()发送,使用ibv\u poll\u cq()迭代轮询cq 问题是,如果我在调用ibv\u poll\u cq()后得到一些工作完成(WC),我如何知道WC对应于哪个读取请求?我正在使用可靠的连接模式。当您通过ibv\u post\u send()struct发送读取请求时 uint64\u t wr\u id已设置的字段 wr_id-与此wr关联的64位值。如果一项工作完成后将

我有N个qp,我将通过每个qp中的发送队列发送M个RDMA读取请求。 读取请求由
ibv\u post\u send()
发送,使用
ibv\u poll\u cq()
迭代轮询cq


问题是,如果我在调用
ibv\u poll\u cq()
后得到一些工作完成(WC),我如何知道WC对应于哪个读取请求?我正在使用可靠的连接模式。

当您通过
ibv\u post\u send()
struct发送读取请求时
uint64\u t wr\u id已设置的字段

wr_id-与此wr关联的64位值。如果一项工作完成后将 此工作请求结束时生成,它将包含此值

然后,当您通过将填充

wr_id-与相应的 工作要求


当您通过
ibv\u post\u send()
struct发送读取请求时
uint64\u t wr\u id已设置的字段

wr_id-与此wr关联的64位值。如果一项工作完成后将 此工作请求结束时生成,它将包含此值

然后,当您通过将填充

wr_id-与相应的 工作要求


你是对的。我以为wr中的这个id是由rdma协议唯一生成的,但后来发现它是用户定义的,所以我可以自己设置它。你是对的。我认为wr中的这个id是由rdma协议唯一生成的,但后来发现它是用户定义的,所以我可以自己设置它。