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 <daniel.verkamp@intel.com>
This commit is contained in:
parent
f0242ce745
commit
5248414d61
@ -434,7 +434,7 @@ static int nvmf_recv(struct spdk_nvmf_conn *conn, struct ibv_wc *wc)
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
rx_desc = (struct nvme_qp_rx_desc *)wc->wr_id;
|
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
|
/* Update Connection SQ Tracking, increment
|
||||||
the SQ tail consuming a free RX recv slot.
|
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->xfer = SPDK_NVME_DATA_NONE;
|
||||||
req->data = NULL;
|
req->data = NULL;
|
||||||
req->cid = cap_hdr->cid;
|
req->cid = cap_hdr->cid;
|
||||||
req->cmd = &rx_desc->msg_buf;
|
req->cmd = &rx_desc->cmd;
|
||||||
|
|
||||||
nvmf_trace_command(cap_hdr, conn->type);
|
nvmf_trace_command(cap_hdr, conn->type);
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ free_qp_desc(struct spdk_nvmf_conn *conn)
|
|||||||
|
|
||||||
rte_free(tmp_rx->bb);
|
rte_free(tmp_rx->bb);
|
||||||
|
|
||||||
rc = rdma_dereg_mr(tmp_rx->msg_buf_mr);
|
rc = rdma_dereg_mr(tmp_rx->cmd_mr);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
SPDK_ERRLOG("Unable to de-register rx mr\n");
|
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_FOREACH(tmp_tx, &conn->rdma.qp_tx_desc, link) {
|
||||||
STAILQ_REMOVE(&conn->rdma.qp_tx_desc, tmp_tx, nvme_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) {
|
if (rc) {
|
||||||
SPDK_ERRLOG("Unable to de-register tx mr\n");
|
SPDK_ERRLOG("Unable to de-register tx mr\n");
|
||||||
}
|
}
|
||||||
@ -912,10 +912,8 @@ alloc_qp_rx_desc(struct spdk_nvmf_conn *conn)
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
rx_desc->msg_buf_mr = rdma_reg_msgs(conn->rdma.cm_id,
|
rx_desc->cmd_mr = rdma_reg_msgs(conn->rdma.cm_id, &rx_desc->cmd, sizeof(rx_desc->cmd));
|
||||||
(void *)&rx_desc->msg_buf,
|
if (rx_desc->cmd_mr == NULL) {
|
||||||
sizeof(rx_desc->msg_buf));
|
|
||||||
if (rx_desc->msg_buf_mr == NULL) {
|
|
||||||
SPDK_ERRLOG("Unable to register rx desc buffer mr\n");
|
SPDK_ERRLOG("Unable to register rx desc buffer mr\n");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
@ -923,9 +921,9 @@ alloc_qp_rx_desc(struct spdk_nvmf_conn *conn)
|
|||||||
rx_desc->conn = conn;
|
rx_desc->conn = conn;
|
||||||
|
|
||||||
/* initialize recv_sgl of tx_desc */
|
/* initialize recv_sgl of tx_desc */
|
||||||
rx_desc->recv_sgl.addr = (uint64_t)&rx_desc->msg_buf;
|
rx_desc->recv_sgl.addr = (uint64_t)&rx_desc->cmd;
|
||||||
rx_desc->recv_sgl.length = sizeof(rx_desc->msg_buf);
|
rx_desc->recv_sgl.length = sizeof(rx_desc->cmd);
|
||||||
rx_desc->recv_sgl.lkey = rx_desc->msg_buf_mr->lkey;
|
rx_desc->recv_sgl.lkey = rx_desc->cmd_mr->lkey;
|
||||||
|
|
||||||
/* pre-assign a data bb (bounce buffer) with each RX descriptor */
|
/* pre-assign a data bb (bounce buffer) with each RX descriptor */
|
||||||
/*
|
/*
|
||||||
@ -975,8 +973,8 @@ fail:
|
|||||||
|
|
||||||
rte_free(rx_desc->bb);
|
rte_free(rx_desc->bb);
|
||||||
|
|
||||||
if (rx_desc->msg_buf_mr) {
|
if (rx_desc->cmd_mr) {
|
||||||
rc = rdma_dereg_mr(rx_desc->msg_buf_mr);
|
rc = rdma_dereg_mr(rx_desc->cmd_mr);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
SPDK_ERRLOG("Unable to de-register rx mr\n");
|
SPDK_ERRLOG("Unable to de-register rx mr\n");
|
||||||
}
|
}
|
||||||
@ -995,7 +993,7 @@ fail:
|
|||||||
|
|
||||||
rte_free(tmp->bb);
|
rte_free(tmp->bb);
|
||||||
|
|
||||||
rc = rdma_dereg_mr(tmp->msg_buf_mr);
|
rc = rdma_dereg_mr(tmp->cmd_mr);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
SPDK_ERRLOG("Unable to de-register rx mr\n");
|
SPDK_ERRLOG("Unable to de-register rx mr\n");
|
||||||
}
|
}
|
||||||
@ -1022,10 +1020,8 @@ alloc_qp_tx_desc(struct spdk_nvmf_conn *conn)
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
tx_desc->msg_buf_mr = rdma_reg_msgs(conn->rdma.cm_id,
|
tx_desc->rsp_mr = rdma_reg_msgs(conn->rdma.cm_id, &tx_desc->rsp, sizeof(tx_desc->rsp));
|
||||||
(void *)&tx_desc->msg_buf,
|
if (tx_desc->rsp_mr == NULL) {
|
||||||
sizeof(tx_desc->msg_buf));
|
|
||||||
if (tx_desc->msg_buf_mr == NULL) {
|
|
||||||
SPDK_ERRLOG("Unable to register tx desc buffer mr\n");
|
SPDK_ERRLOG("Unable to register tx desc buffer mr\n");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
@ -1033,12 +1029,12 @@ alloc_qp_tx_desc(struct spdk_nvmf_conn *conn)
|
|||||||
tx_desc->conn = conn;
|
tx_desc->conn = conn;
|
||||||
|
|
||||||
/* initialize send_sgl of tx_desc */
|
/* initialize send_sgl of tx_desc */
|
||||||
tx_desc->send_sgl.addr = (uint64_t)&tx_desc->msg_buf;
|
tx_desc->send_sgl.addr = (uint64_t)&tx_desc->rsp;
|
||||||
tx_desc->send_sgl.length = sizeof(tx_desc->msg_buf);
|
tx_desc->send_sgl.length = sizeof(tx_desc->rsp);
|
||||||
tx_desc->send_sgl.lkey = tx_desc->msg_buf_mr->lkey;
|
tx_desc->send_sgl.lkey = tx_desc->rsp_mr->lkey;
|
||||||
|
|
||||||
/* init request state associated with each tx_desc */
|
/* 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",
|
SPDK_TRACELOG(SPDK_TRACE_DEBUG, "tx_desc %p: req_state %p, rsp %p\n",
|
||||||
tx_desc, &tx_desc->req_state,
|
tx_desc, &tx_desc->req_state,
|
||||||
tx_desc->req_state.rsp);
|
tx_desc->req_state.rsp);
|
||||||
@ -1051,8 +1047,8 @@ fail:
|
|||||||
/* cleanup any partial descriptor that failed during init loop */
|
/* cleanup any partial descriptor that failed during init loop */
|
||||||
if (tx_desc != NULL) {
|
if (tx_desc != NULL) {
|
||||||
|
|
||||||
if (tx_desc->msg_buf_mr) {
|
if (tx_desc->rsp_mr) {
|
||||||
rc = rdma_dereg_mr(tx_desc->msg_buf_mr);
|
rc = rdma_dereg_mr(tx_desc->rsp_mr);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
SPDK_ERRLOG("Unable to de-register tx mr\n");
|
SPDK_ERRLOG("Unable to de-register tx mr\n");
|
||||||
}
|
}
|
||||||
@ -1064,7 +1060,7 @@ fail:
|
|||||||
STAILQ_FOREACH(tmp, &conn->rdma.qp_tx_desc, link) {
|
STAILQ_FOREACH(tmp, &conn->rdma.qp_tx_desc, link) {
|
||||||
STAILQ_REMOVE(&conn->rdma.qp_tx_desc, tmp, nvme_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) {
|
if (rc) {
|
||||||
SPDK_ERRLOG("Unable to de-register tx mr\n");
|
SPDK_ERRLOG("Unable to de-register tx mr\n");
|
||||||
}
|
}
|
||||||
|
@ -59,9 +59,9 @@ struct spdk_nvmf_rdma_conn {
|
|||||||
/* Define the Admin Queue Rx/Tx Descriptors */
|
/* Define the Admin Queue Rx/Tx Descriptors */
|
||||||
|
|
||||||
struct nvme_qp_rx_desc {
|
struct nvme_qp_rx_desc {
|
||||||
union nvmf_h2c_msg msg_buf;
|
union nvmf_h2c_msg cmd;
|
||||||
struct spdk_nvmf_conn *conn;
|
struct spdk_nvmf_conn *conn;
|
||||||
struct ibv_mr *msg_buf_mr;
|
struct ibv_mr *cmd_mr;
|
||||||
struct ibv_sge recv_sgl;
|
struct ibv_sge recv_sgl;
|
||||||
struct ibv_sge bb_sgl; /* must follow recv_sgl */
|
struct ibv_sge bb_sgl; /* must follow recv_sgl */
|
||||||
struct ibv_mr *bb_mr;
|
struct ibv_mr *bb_mr;
|
||||||
@ -72,10 +72,10 @@ struct nvme_qp_rx_desc {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct nvme_qp_tx_desc {
|
struct nvme_qp_tx_desc {
|
||||||
union nvmf_c2h_msg msg_buf;
|
union nvmf_c2h_msg rsp;
|
||||||
struct spdk_nvmf_conn *conn;
|
struct spdk_nvmf_conn *conn;
|
||||||
struct nvmf_request req_state;
|
struct nvmf_request req_state;
|
||||||
struct ibv_mr *msg_buf_mr;
|
struct ibv_mr *rsp_mr;
|
||||||
struct ibv_sge send_sgl;
|
struct ibv_sge send_sgl;
|
||||||
STAILQ_ENTRY(nvme_qp_tx_desc) link;
|
STAILQ_ENTRY(nvme_qp_tx_desc) link;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user