Commit 27cf11d0 authored by Ziye Yang's avatar Ziye Yang Committed by Jim Harris
Browse files

nvme,rdma: optimize nvme_rdma_post_recv



Move the ibv_recv_wr initialization in
nvme_rdma_alloc_rsps. Thus we can save some
CPU times

Change-Id: Id449b2684290431f8b3ba97ec4058171d34038bf
Signed-off-by: default avatarZiye Yang <ziye.yang@intel.com>
parent b89e758c
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -247,11 +247,6 @@ nvme_rdma_post_recv(struct nvme_rdma_qpair *rqpair, uint16_t rsp_idx)
	int rc;

	wr = &rqpair->rsp_recv_wrs[rsp_idx];
	wr->wr_id = rsp_idx;
	wr->next = NULL;
	wr->sg_list = &rqpair->rsp_sgls[rsp_idx];
	wr->num_sge = 1;

	nvme_rdma_trace_ibv_sge(wr->sg_list);

	rc = ibv_post_recv(rqpair->cm_id->qp, wr, &bad_wr);
@@ -320,6 +315,11 @@ nvme_rdma_alloc_rsps(struct nvme_rdma_qpair *rqpair)
		rsp_sgl->length = sizeof(rqpair->rsps[i]);
		rsp_sgl->lkey = rqpair->rsp_mr->lkey;

		rqpair->rsp_recv_wrs[i].wr_id = i;
		rqpair->rsp_recv_wrs[i].next = NULL;
		rqpair->rsp_recv_wrs[i].sg_list = rsp_sgl;
		rqpair->rsp_recv_wrs[i].num_sge = 1;

		if (nvme_rdma_post_recv(rqpair, i)) {
			SPDK_ERRLOG("Unable to post connection rx desc\n");
			goto fail;