diff -Naupr a//pvfs2/src/io/bmi/bmi_ib/openib.c b//pvfs2/src/io/bmi/bmi_ib/openib.c
--- a//pvfs2/src/io/bmi/bmi_ib/openib.c	2008-02-22 15:04:43.000000000 -0500
+++ b//pvfs2/src/io/bmi/bmi_ib/openib.c	2011-10-21 16:19:08.000000000 -0400
@@ -81,7 +81,7 @@ struct openib_connection_priv {
 /* constants used to initialize infiniband device */
 static const int IBV_PORT = 1;
 static const unsigned int IBV_NUM_CQ_ENTRIES = 1024;
-static const int IBV_MTU = IBV_MTU_1024;  /* dmtu, 1k good for mellanox */
+static const int IBV_MTU = IBV_MTU_4096;  /* dmtu, 1k good for mellanox */
 
 static int exchange_data(int sock, int is_server, void *xin, void *xout,
                          size_t len);
@@ -321,9 +321,9 @@ static void init_connection_modify_qp(st
     attr.qp_state = IBV_QPS_RTS;
     attr.sq_psn = 0;
     attr.max_rd_atomic = 1;
-    attr.timeout = 26;  /* 4.096us * 2^26 = 5 min */
-    attr.retry_cnt = 20;
-    attr.rnr_retry = 20;
+    attr.timeout = 14;  /* 4.096us * 2^26 = 5 min */
+    attr.retry_cnt = 7;
+    attr.rnr_retry = 7;
     ret = ibv_modify_qp(qp, &attr, mask);
     if (ret)
 	error_xerrno(ret, "%s: ibv_modify_qp RTR -> RTS", __func__);
