From 27cf11d04e7310830f44f7f7cb587b661963431f Mon Sep 17 00:00:00 2001 From: Ziye Yang Date: Wed, 22 Feb 2017 11:00:17 +0800 Subject: [PATCH] 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: Ziye Yang --- lib/nvme/nvme_rdma.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/nvme/nvme_rdma.c b/lib/nvme/nvme_rdma.c index 912dfaa7d..7e2dfe91b 100644 --- a/lib/nvme/nvme_rdma.c +++ b/lib/nvme/nvme_rdma.c @@ -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;