Commit 3ba23ade authored by Andy Grover's avatar Andy Grover Committed by David S. Miller
Browse files

RDS: Set retry_count to 2 and make modifiable via modparam



This will be default cause IB connections to failover faster,
but allow a longer retry count to be used if desired.
Signed-off-by: default avatarAndy Grover <andy.grover@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4edf547b
...@@ -43,11 +43,14 @@ ...@@ -43,11 +43,14 @@
unsigned int fmr_pool_size = RDS_FMR_POOL_SIZE; 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 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_param(fmr_pool_size, int, 0444);
MODULE_PARM_DESC(fmr_pool_size, " Max number of fmr per HCA"); MODULE_PARM_DESC(fmr_pool_size, " Max number of fmr per HCA");
module_param(fmr_message_size, int, 0444); module_param(fmr_message_size, int, 0444);
MODULE_PARM_DESC(fmr_message_size, " Max size of a RDMA transfer"); 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; struct list_head rds_ib_devices;
......
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
#define RDS_IB_DEFAULT_RECV_WR 1024 #define RDS_IB_DEFAULT_RECV_WR 1024
#define RDS_IB_DEFAULT_SEND_WR 256 #define RDS_IB_DEFAULT_SEND_WR 256
#define RDS_IB_DEFAULT_RETRY_COUNT 2
#define RDS_IB_SUPPORTED_PROTOCOLS 0x00000003 /* minor versions supported */ #define RDS_IB_SUPPORTED_PROTOCOLS 0x00000003 /* minor versions supported */
extern struct list_head rds_ib_devices; extern struct list_head rds_ib_devices;
...@@ -247,6 +249,7 @@ extern struct ib_client rds_ib_client; ...@@ -247,6 +249,7 @@ extern struct ib_client rds_ib_client;
extern unsigned int fmr_pool_size; extern unsigned int fmr_pool_size;
extern unsigned int fmr_message_size; extern unsigned int fmr_message_size;
extern unsigned int rds_ib_retry_count;
extern spinlock_t ib_nodev_conns_lock; extern spinlock_t ib_nodev_conns_lock;
extern struct list_head ib_nodev_conns; extern struct list_head ib_nodev_conns;
......
...@@ -145,7 +145,7 @@ static void rds_ib_cm_fill_conn_param(struct rds_connection *conn, ...@@ -145,7 +145,7 @@ static void rds_ib_cm_fill_conn_param(struct rds_connection *conn,
/* XXX tune these? */ /* XXX tune these? */
conn_param->responder_resources = 1; conn_param->responder_resources = 1;
conn_param->initiator_depth = 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; conn_param->rnr_retry_count = 7;
if (dp) { if (dp) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment