Commit 1a92e17e39b9a5d476e0a7aa52280e76321834ee
Committed by
Nicholas Bellinger
1 parent
38a8316b5d
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
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; |