[hermon] Reduce the RC ACK timeout
authorMichael Brown <mcb30@etherboot.org>
Mon, 10 Aug 2009 01:10:17 +0000 (02:10 +0100)
committerMichael Brown <mcb30@etherboot.org>
Mon, 10 Aug 2009 21:22:42 +0000 (22:22 +0100)
The ACK timeout determines how long we take to notice a failed
Reliable Connection.  Reducing it from the arbitrary value of 19 down
to 14 reduces the individual ACK timeout from around 2.1s to 67ms;
this in turn reduces the time to tear down and re-establish a broken
SRP session from around 30s to around 1s.

src/drivers/infiniband/hermon.c

index 0012904..bff128f 100644 (file)
@@ -1108,7 +1108,7 @@ static int hermon_modify_qp ( struct ib_device *ibdev,
                memset ( &qpctx, 0, sizeof ( qpctx ) );
                MLX_FILL_1 ( &qpctx, 10,
                             qpc_eec_data.primary_address_path.ack_timeout,
-                            0x13 );
+                            14 /* 4.096us * 2^(14) = 67ms */ );
                MLX_FILL_2 ( &qpctx, 30,
                             qpc_eec_data.retry_count, HERMON_RETRY_MAX,
                             qpc_eec_data.rnr_retry, HERMON_RETRY_MAX );