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 ||
host_event_data->private_data_len < sizeof(struct spdk_nvmf_rdma_request_private_data)) {
/* No private data, so use defaults. */
qp_depth = nvmf_min(ibdev_attr.max_qp_wr, SPDK_NVMF_DEFAULT_MAX_QUEUE_DEPTH);
rw_depth = nvmf_min(ibdev_attr.max_qp_rd_atom, SPDK_NVMF_DEFAULT_MAX_QUEUE_DEPTH);
qp_depth = SPDK_NVMF_DEFAULT_MAX_QUEUE_DEPTH;
rw_depth = SPDK_NVMF_DEFAULT_MAX_QUEUE_DEPTH;
} else {
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,
private_data->hsqsize));
rw_depth = nvmf_min(ibdev_attr.max_qp_rd_atom, host_event_data->initiator_depth);
qp_depth = nvmf_min(private_data->hrqsize, private_data->hsqsize);
rw_depth = 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);
rc = nvmf_rdma_queue_init(conn, conn_id->verbs);