aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorSagi Grimberg <sagig@mellanox.com>2014-07-31 06:27:46 -0400
committerRoland Dreier <roland@purestorage.com>2014-08-01 18:10:04 -0400
commit2ea32938f3a702d08c5cc2cc9cb8b11235eaad8c (patch)
treea5da1c2e39be09ba448a184de49fd900ba4f3bfd /drivers/infiniband
parent9579d603502d0f24272c4dd70451d97c8d306b54 (diff)
IB/iser: Fix responder resources advertisement
The iser initiator is the RDMA responder so it should publish to the target the max inflight rdma read requests its local HCA can handle in responder_resources (max_qp_rd_atom). The iser target should take the min of that and its local HCA max inflight oustanding rdma read requests (max_qp_init_rd_atom). We keep initiator_depth set to 1 in order to compat with old targets. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/ulp/iser/iser_verbs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/iser/iser_verbs.c b/drivers/infiniband/ulp/iser/iser_verbs.c
index da6f3ddbb0ab..6c7d8ce7b016 100644
--- a/drivers/infiniband/ulp/iser/iser_verbs.c
+++ b/drivers/infiniband/ulp/iser/iser_verbs.c
@@ -694,13 +694,15 @@ static void iser_route_handler(struct rdma_cm_id *cma_id)
694 struct rdma_conn_param conn_param; 694 struct rdma_conn_param conn_param;
695 int ret; 695 int ret;
696 struct iser_cm_hdr req_hdr; 696 struct iser_cm_hdr req_hdr;
697 struct iser_conn *ib_conn = (struct iser_conn *)cma_id->context;
698 struct iser_device *device = ib_conn->device;
697 699
698 ret = iser_create_ib_conn_res((struct iser_conn *)cma_id->context); 700 ret = iser_create_ib_conn_res((struct iser_conn *)cma_id->context);
699 if (ret) 701 if (ret)
700 goto failure; 702 goto failure;
701 703
702 memset(&conn_param, 0, sizeof conn_param); 704 memset(&conn_param, 0, sizeof conn_param);
703 conn_param.responder_resources = 4; 705 conn_param.responder_resources = device->dev_attr.max_qp_rd_atom;
704 conn_param.initiator_depth = 1; 706 conn_param.initiator_depth = 1;
705 conn_param.retry_count = 7; 707 conn_param.retry_count = 7;
706 conn_param.rnr_retry_count = 6; 708 conn_param.rnr_retry_count = 6;