diff options
author | Michael Brown | 2009-08-10 03:10:17 +0200 |
---|---|---|
committer | Michael Brown | 2009-08-10 23:22:42 +0200 |
commit | 1175f0cf29acbb8328e1ab054bb0f5d7077c3cc0 (patch) | |
tree | 5b50d8cb67f6bd16a2ab522d3cd6ce16a9c0a745 | |
parent | [hermon] Randomise the high-order bits of queue pair numbers (diff) | |
download | ipxe-1175f0cf29acbb8328e1ab054bb0f5d7077c3cc0.tar.gz ipxe-1175f0cf29acbb8328e1ab054bb0f5d7077c3cc0.tar.xz ipxe-1175f0cf29acbb8328e1ab054bb0f5d7077c3cc0.zip |
[hermon] Reduce the RC ACK timeout
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.
-rw-r--r-- | src/drivers/infiniband/hermon.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/drivers/infiniband/hermon.c b/src/drivers/infiniband/hermon.c index 0012904f..bff128fd 100644 --- a/src/drivers/infiniband/hermon.c +++ b/src/drivers/infiniband/hermon.c @@ -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 ); |