From 5248414d6191a85f3060ca368c31916d93edf7c4 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Thu, 23 Jun 2016 16:23:46 -0700 Subject: [PATCH] nvmf: give tx_desc/rx_desc bufs meaningful names Replace the generic "msg_buf" naming with command and response. Change-Id: I19baff43b41a5eb7db9be9d7feec33d17112e320 Signed-off-by: Daniel Verkamp --- lib/nvmf/conn.c | 4 ++-- lib/nvmf/rdma.c | 42 +++++++++++++++++++----------------------- lib/nvmf/rdma.h | 8 ++++---- 3 files changed, 25 insertions(+), 29 deletions(-) diff --git a/lib/nvmf/conn.c b/lib/nvmf/conn.c index bf242f518..abed864d1 100644 --- a/lib/nvmf/conn.c +++ b/lib/nvmf/conn.c @@ -434,7 +434,7 @@ static int nvmf_recv(struct spdk_nvmf_conn *conn, struct ibv_wc *wc) int ret = 0; rx_desc = (struct nvme_qp_rx_desc *)wc->wr_id; - cap_hdr = (struct spdk_nvmf_capsule_cmd *)&rx_desc->msg_buf; + cap_hdr = &rx_desc->cmd.nvmf_cmd; /* Update Connection SQ Tracking, increment the SQ tail consuming a free RX recv slot. @@ -495,7 +495,7 @@ static int nvmf_recv(struct spdk_nvmf_conn *conn, struct ibv_wc *wc) req->xfer = SPDK_NVME_DATA_NONE; req->data = NULL; req->cid = cap_hdr->cid; - req->cmd = &rx_desc->msg_buf; + req->cmd = &rx_desc->cmd; nvmf_trace_command(cap_hdr, conn->type); diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 38b15563a..dee3ef485 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -177,7 +177,7 @@ free_qp_desc(struct spdk_nvmf_conn *conn) rte_free(tmp_rx->bb); - rc = rdma_dereg_mr(tmp_rx->msg_buf_mr); + rc = rdma_dereg_mr(tmp_rx->cmd_mr); if (rc) { SPDK_ERRLOG("Unable to de-register rx mr\n"); } @@ -188,7 +188,7 @@ free_qp_desc(struct spdk_nvmf_conn *conn) STAILQ_FOREACH(tmp_tx, &conn->rdma.qp_tx_desc, link) { STAILQ_REMOVE(&conn->rdma.qp_tx_desc, tmp_tx, nvme_qp_tx_desc, link); - rc = rdma_dereg_mr(tmp_tx->msg_buf_mr); + rc = rdma_dereg_mr(tmp_tx->rsp_mr); if (rc) { SPDK_ERRLOG("Unable to de-register tx mr\n"); } @@ -912,10 +912,8 @@ alloc_qp_rx_desc(struct spdk_nvmf_conn *conn) goto fail; } - rx_desc->msg_buf_mr = rdma_reg_msgs(conn->rdma.cm_id, - (void *)&rx_desc->msg_buf, - sizeof(rx_desc->msg_buf)); - if (rx_desc->msg_buf_mr == NULL) { + rx_desc->cmd_mr = rdma_reg_msgs(conn->rdma.cm_id, &rx_desc->cmd, sizeof(rx_desc->cmd)); + if (rx_desc->cmd_mr == NULL) { SPDK_ERRLOG("Unable to register rx desc buffer mr\n"); goto fail; } @@ -923,9 +921,9 @@ alloc_qp_rx_desc(struct spdk_nvmf_conn *conn) rx_desc->conn = conn; /* initialize recv_sgl of tx_desc */ - rx_desc->recv_sgl.addr = (uint64_t)&rx_desc->msg_buf; - rx_desc->recv_sgl.length = sizeof(rx_desc->msg_buf); - rx_desc->recv_sgl.lkey = rx_desc->msg_buf_mr->lkey; + rx_desc->recv_sgl.addr = (uint64_t)&rx_desc->cmd; + rx_desc->recv_sgl.length = sizeof(rx_desc->cmd); + rx_desc->recv_sgl.lkey = rx_desc->cmd_mr->lkey; /* pre-assign a data bb (bounce buffer) with each RX descriptor */ /* @@ -975,8 +973,8 @@ fail: rte_free(rx_desc->bb); - if (rx_desc->msg_buf_mr) { - rc = rdma_dereg_mr(rx_desc->msg_buf_mr); + if (rx_desc->cmd_mr) { + rc = rdma_dereg_mr(rx_desc->cmd_mr); if (rc) { SPDK_ERRLOG("Unable to de-register rx mr\n"); } @@ -995,7 +993,7 @@ fail: rte_free(tmp->bb); - rc = rdma_dereg_mr(tmp->msg_buf_mr); + rc = rdma_dereg_mr(tmp->cmd_mr); if (rc) { SPDK_ERRLOG("Unable to de-register rx mr\n"); } @@ -1022,10 +1020,8 @@ alloc_qp_tx_desc(struct spdk_nvmf_conn *conn) goto fail; } - tx_desc->msg_buf_mr = rdma_reg_msgs(conn->rdma.cm_id, - (void *)&tx_desc->msg_buf, - sizeof(tx_desc->msg_buf)); - if (tx_desc->msg_buf_mr == NULL) { + tx_desc->rsp_mr = rdma_reg_msgs(conn->rdma.cm_id, &tx_desc->rsp, sizeof(tx_desc->rsp)); + if (tx_desc->rsp_mr == NULL) { SPDK_ERRLOG("Unable to register tx desc buffer mr\n"); goto fail; } @@ -1033,12 +1029,12 @@ alloc_qp_tx_desc(struct spdk_nvmf_conn *conn) tx_desc->conn = conn; /* initialize send_sgl of tx_desc */ - tx_desc->send_sgl.addr = (uint64_t)&tx_desc->msg_buf; - tx_desc->send_sgl.length = sizeof(tx_desc->msg_buf); - tx_desc->send_sgl.lkey = tx_desc->msg_buf_mr->lkey; + tx_desc->send_sgl.addr = (uint64_t)&tx_desc->rsp; + tx_desc->send_sgl.length = sizeof(tx_desc->rsp); + tx_desc->send_sgl.lkey = tx_desc->rsp_mr->lkey; /* init request state associated with each tx_desc */ - tx_desc->req_state.rsp = &tx_desc->msg_buf; + tx_desc->req_state.rsp = &tx_desc->rsp; SPDK_TRACELOG(SPDK_TRACE_DEBUG, "tx_desc %p: req_state %p, rsp %p\n", tx_desc, &tx_desc->req_state, tx_desc->req_state.rsp); @@ -1051,8 +1047,8 @@ fail: /* cleanup any partial descriptor that failed during init loop */ if (tx_desc != NULL) { - if (tx_desc->msg_buf_mr) { - rc = rdma_dereg_mr(tx_desc->msg_buf_mr); + if (tx_desc->rsp_mr) { + rc = rdma_dereg_mr(tx_desc->rsp_mr); if (rc) { SPDK_ERRLOG("Unable to de-register tx mr\n"); } @@ -1064,7 +1060,7 @@ fail: STAILQ_FOREACH(tmp, &conn->rdma.qp_tx_desc, link) { STAILQ_REMOVE(&conn->rdma.qp_tx_desc, tmp, nvme_qp_tx_desc, link); - rc = rdma_dereg_mr(tmp->msg_buf_mr); + rc = rdma_dereg_mr(tmp->rsp_mr); if (rc) { SPDK_ERRLOG("Unable to de-register tx mr\n"); } diff --git a/lib/nvmf/rdma.h b/lib/nvmf/rdma.h index b7ae8f5d0..a7c07962e 100644 --- a/lib/nvmf/rdma.h +++ b/lib/nvmf/rdma.h @@ -59,9 +59,9 @@ struct spdk_nvmf_rdma_conn { /* Define the Admin Queue Rx/Tx Descriptors */ struct nvme_qp_rx_desc { - union nvmf_h2c_msg msg_buf; + union nvmf_h2c_msg cmd; struct spdk_nvmf_conn *conn; - struct ibv_mr *msg_buf_mr; + struct ibv_mr *cmd_mr; struct ibv_sge recv_sgl; struct ibv_sge bb_sgl; /* must follow recv_sgl */ struct ibv_mr *bb_mr; @@ -72,10 +72,10 @@ struct nvme_qp_rx_desc { }; struct nvme_qp_tx_desc { - union nvmf_c2h_msg msg_buf; + union nvmf_c2h_msg rsp; struct spdk_nvmf_conn *conn; struct nvmf_request req_state; - struct ibv_mr *msg_buf_mr; + struct ibv_mr *rsp_mr; struct ibv_sge send_sgl; STAILQ_ENTRY(nvme_qp_tx_desc) link; };