From a3a19dbe2e1e26f68a35d8583896450ebf560b98 Mon Sep 17 00:00:00 2001 From: Andy Grover Date: Fri, 17 Jul 2009 13:13:22 +0000 Subject: [PATCH] --- yaml --- r: 158995 b: refs/heads/master c: 3ba23ade464cca7c4a7ba5628c613339d3f2e161 h: refs/heads/master i: 158993: 5b361efcc768d5968ce331e0f6899733fbf5d585 158991: 38ba9afeeb9cc5963d3403fcb511dcead38a4330 v: v3 --- [refs] | 2 +- trunk/net/rds/ib.c | 3 +++ trunk/net/rds/ib.h | 3 +++ trunk/net/rds/ib_cm.c | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 030317b4fd46..0e8727b9e154 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4edf547b4d0f886acf5aa5a0c8f8edbaff280830 +refs/heads/master: 3ba23ade464cca7c4a7ba5628c613339d3f2e161 diff --git a/trunk/net/rds/ib.c b/trunk/net/rds/ib.c index b9bcd32431e1..27abdd3df2cc 100644 --- a/trunk/net/rds/ib.c +++ b/trunk/net/rds/ib.c @@ -43,11 +43,14 @@ unsigned int fmr_pool_size = RDS_FMR_POOL_SIZE; unsigned int fmr_message_size = RDS_FMR_SIZE + 1; /* +1 allows for unaligned MRs */ +unsigned int rds_ib_retry_count = RDS_IB_DEFAULT_RETRY_COUNT; module_param(fmr_pool_size, int, 0444); MODULE_PARM_DESC(fmr_pool_size, " Max number of fmr per HCA"); module_param(fmr_message_size, int, 0444); MODULE_PARM_DESC(fmr_message_size, " Max size of a RDMA transfer"); +module_param(rds_ib_retry_count, int, 0444); +MODULE_PARM_DESC(rds_ib_retry_count, " Number of hw retries before reporting an error"); struct list_head rds_ib_devices; diff --git a/trunk/net/rds/ib.h b/trunk/net/rds/ib.h index 455ae73047fe..420afb95ca1a 100644 --- a/trunk/net/rds/ib.h +++ b/trunk/net/rds/ib.h @@ -15,6 +15,8 @@ #define RDS_IB_DEFAULT_RECV_WR 1024 #define RDS_IB_DEFAULT_SEND_WR 256 +#define RDS_IB_DEFAULT_RETRY_COUNT 2 + #define RDS_IB_SUPPORTED_PROTOCOLS 0x00000003 /* minor versions supported */ extern struct list_head rds_ib_devices; @@ -247,6 +249,7 @@ extern struct ib_client rds_ib_client; extern unsigned int fmr_pool_size; extern unsigned int fmr_message_size; +extern unsigned int rds_ib_retry_count; extern spinlock_t ib_nodev_conns_lock; extern struct list_head ib_nodev_conns; diff --git a/trunk/net/rds/ib_cm.c b/trunk/net/rds/ib_cm.c index f8e40e1a6038..605c032ed5d5 100644 --- a/trunk/net/rds/ib_cm.c +++ b/trunk/net/rds/ib_cm.c @@ -145,7 +145,7 @@ static void rds_ib_cm_fill_conn_param(struct rds_connection *conn, /* XXX tune these? */ conn_param->responder_resources = 1; conn_param->initiator_depth = 1; - conn_param->retry_count = 7; + conn_param->retry_count = min_t(unsigned int, rds_ib_retry_count, 7); conn_param->rnr_retry_count = 7; if (dp) {