[ofa-general] [PATCH] OFED 1.2.1 rdma_cm response timeout module parameter

Or Gerlitz ogerlitz at voltaire.com
Thu Jul 12 00:44:35 PDT 2007


Davis, Arlin R wrote:
> 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>

Sean,

You have approved this patch for OFED 1.2.1, does it suitable also for 
upstream, and if not how you think it would be correct to proceed?

thanks,

Or.

> 
> --- 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;
> _______________________________________________
> general mailing list
> general at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general





More information about the general mailing list