nvmf: simplify RDMA queue depth calculation

Pull out the duplicated min checks against the ibdev_attr values.

Change-Id: I774c355ba669486afde5c05c55a4ed653723db98
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
Daniel Verkamp 2016-07-13 21:21:52 -07:00
parent c3ed14d3a0
commit eca013c2e1

View File

@ -648,14 +648,15 @@ nvmf_rdma_connect(struct rdma_cm_event *event)
if (host_event_data->private_data == NULL || if (host_event_data->private_data == NULL ||
host_event_data->private_data_len < sizeof(struct spdk_nvmf_rdma_request_private_data)) { host_event_data->private_data_len < sizeof(struct spdk_nvmf_rdma_request_private_data)) {
/* No private data, so use defaults. */ /* No private data, so use defaults. */
qp_depth = nvmf_min(ibdev_attr.max_qp_wr, SPDK_NVMF_DEFAULT_MAX_QUEUE_DEPTH); qp_depth = SPDK_NVMF_DEFAULT_MAX_QUEUE_DEPTH;
rw_depth = nvmf_min(ibdev_attr.max_qp_rd_atom, SPDK_NVMF_DEFAULT_MAX_QUEUE_DEPTH); rw_depth = SPDK_NVMF_DEFAULT_MAX_QUEUE_DEPTH;
} else { } else {
const struct spdk_nvmf_rdma_request_private_data *private_data = host_event_data->private_data; const struct spdk_nvmf_rdma_request_private_data *private_data = host_event_data->private_data;
qp_depth = nvmf_min(ibdev_attr.max_qp_wr, nvmf_min(private_data->hrqsize, qp_depth = nvmf_min(private_data->hrqsize, private_data->hsqsize);
private_data->hsqsize)); rw_depth = host_event_data->initiator_depth;
rw_depth = nvmf_min(ibdev_attr.max_qp_rd_atom, host_event_data->initiator_depth);
} }
qp_depth = nvmf_min(qp_depth, ibdev_attr.max_qp_wr);
rw_depth = nvmf_min(rw_depth, ibdev_attr.max_qp_rd_atom);
rdma_conn->queue_depth = nvmf_min(qp_depth, rw_depth); rdma_conn->queue_depth = nvmf_min(qp_depth, rw_depth);
rc = nvmf_rdma_queue_init(conn, conn_id->verbs); rc = nvmf_rdma_queue_init(conn, conn_id->verbs);