Commit 1a92e17e39b9a5d476e0a7aa52280e76321834ee

Authored by Sagi Grimberg
Committed by Nicholas Bellinger
1 parent 38a8316b5d

Target/iser: Fix initiator_depth and responder_resources

The iser target is the RDMA requester and the iser initiator is the
RDMA responder. In order to determine the max inflight RDMA READ requests
to set on the QP (initiator_depth), it should take the min between the
initiator published initiator_depth and the max inflight rdma read
requests its local HCA support (max_qp_init_rd_atom).

The target will never handle incoming RDMA READ requests so no need to
set responder_resources.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>

Showing 1 changed file with 6 additions and 5 deletions Side-by-side Diff

drivers/infiniband/ulp/isert/ib_isert.c
... ... @@ -592,10 +592,6 @@
592 592  
593 593 cma_id->context = isert_conn;
594 594 isert_conn->conn_cm_id = cma_id;
595   - isert_conn->responder_resources = event->param.conn.responder_resources;
596   - isert_conn->initiator_depth = event->param.conn.initiator_depth;
597   - pr_debug("Using responder_resources: %u initiator_depth: %u\n",
598   - isert_conn->responder_resources, isert_conn->initiator_depth);
599 595  
600 596 isert_conn->login_buf = kzalloc(ISCSI_DEF_MAX_RECV_SEG_LEN +
601 597 ISER_RX_LOGIN_SIZE, GFP_KERNEL);
... ... @@ -642,6 +638,12 @@
642 638 goto out_rsp_dma_map;
643 639 }
644 640  
  641 + /* Set max inflight RDMA READ requests */
  642 + isert_conn->initiator_depth = min_t(u8,
  643 + event->param.conn.initiator_depth,
  644 + device->dev_attr.max_qp_init_rd_atom);
  645 + pr_debug("Using initiator_depth: %u\n", isert_conn->initiator_depth);
  646 +
645 647 isert_conn->conn_device = device;
646 648 isert_conn->conn_pd = ib_alloc_pd(isert_conn->conn_device->ib_device);
647 649 if (IS_ERR(isert_conn->conn_pd)) {
... ... @@ -3067,7 +3069,6 @@
3067 3069 int ret;
3068 3070  
3069 3071 memset(&cp, 0, sizeof(struct rdma_conn_param));
3070   - cp.responder_resources = isert_conn->responder_resources;
3071 3072 cp.initiator_depth = isert_conn->initiator_depth;
3072 3073 cp.retry_count = 7;
3073 3074 cp.rnr_retry_count = 7;