[ofa-general] [PATCH] OFED 1.2.1 rdma_cm response timeout module parameter
Davis, Arlin R
arlin.r.davis at intel.com
Wed Jul 11 14:36:41 PDT 2007
Sean,
OFED 1.2 removed the rdma_set_option call used to adjust response
timeout. We are running into some cases on larger clusters that require
longer timeouts then the default. Can you consider this rdma_cm patch
for OFED 1.2.1 that adds a module parameter for the response timeout?
Thanks.
Signed-off by: Arlin Davis <ardavis at ichips.intel.com>
--- a/drivers/infiniband/core/cma.c 2007-07-11 10:46:48.000000000
-0700
+++ b/drivers/infiniband/core/cma.c 2007-07-11 10:54:16.000000000
-0700
@@ -58,6 +58,10 @@ MODULE_PARM_DESC(tavor_quirk, "Tavor per
#define CMA_CM_RESPONSE_TIMEOUT 20
#define CMA_MAX_CM_RETRIES 15
+static int cma_response_timeout = CMA_CM_RESPONSE_TIMEOUT;
+module_param_named(cma_response_timeout, cma_response_timeout, int,
0644);
+MODULE_PARM_DESC(cma_response_timeout, "CMA_CM_RESPONSE_TIMEOUT
default=20");
+
static void cma_add_one(struct ib_device *device);
static void cma_remove_one(struct ib_device *device);
@@ -2157,7 +2161,7 @@ static int cma_resolve_ib_udp(struct rdm
req.path = route->path_rec;
req.service_id = cma_get_service_id(id_priv->id.ps,
&route->addr.dst_addr);
- req.timeout_ms = 1 << (CMA_CM_RESPONSE_TIMEOUT - 8);
+ req.timeout_ms = 1 << (cma_response_timeout - 8);
req.max_cm_retries = CMA_MAX_CM_RETRIES;
ret = ib_send_cm_sidr_req(id_priv->cm_id.ib, &req);
@@ -2216,8 +2220,8 @@ static int cma_connect_ib(struct rdma_id
req.flow_control = conn_param->flow_control;
req.retry_count = conn_param->retry_count;
req.rnr_retry_count = conn_param->rnr_retry_count;
- req.remote_cm_response_timeout = CMA_CM_RESPONSE_TIMEOUT;
- req.local_cm_response_timeout = CMA_CM_RESPONSE_TIMEOUT;
+ req.remote_cm_response_timeout = cma_response_timeout;
+ req.local_cm_response_timeout = cma_response_timeout;
req.max_cm_retries = CMA_MAX_CM_RETRIES;
req.srq = id_priv->srq ? 1 : 0;
@@ -2344,7 +2348,7 @@ static int cma_accept_ib(struct rdma_id_
rep.private_data_len = conn_param->private_data_len;
rep.responder_resources = conn_param->responder_resources;
rep.initiator_depth = conn_param->initiator_depth;
- rep.target_ack_delay = CMA_CM_RESPONSE_TIMEOUT;
+ rep.target_ack_delay = cma_response_timeout;
rep.failover_accepted = 0;
rep.flow_control = conn_param->flow_control;
rep.rnr_retry_count = conn_param->rnr_retry_count;
More information about the general
mailing list