summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr/src/uts/common/inet/tcp_impl.h18
1 files changed, 6 insertions, 12 deletions
diff --git a/usr/src/uts/common/inet/tcp_impl.h b/usr/src/uts/common/inet/tcp_impl.h
index 61af05f749..b542ec6057 100644
--- a/usr/src/uts/common/inet/tcp_impl.h
+++ b/usr/src/uts/common/inet/tcp_impl.h
@@ -594,18 +594,12 @@ extern uint32_t tcp_early_abort;
*
* RTO = SRTT + 4 * RTTVAR
*
- * In practice, however, we make several additions to it. As we use a finer
- * grained clock than BSD and update RTO for every ACK, we add in another 1/4 of
- * RTT to the deviation of RTO to accommodate burstiness of 1/4 of window size:
- *
- * RTO = SRTT + (SRTT / 4) + 4 * RTTVAR
- *
* Since tcp_rtt_sa is 8 times the SRTT, and tcp_rtt_sd is 4 times the RTTVAR,
* this becomes:
*
- * RTO = (tcp_rtt_sa / 8) + ((tcp_rtt_sa / 8) / 4) + tcp_rtt_sd
- * RTO = (tcp_rtt_sa / 2^3) + (tcp_rtt_sa / 2^5) + tcp_rtt_sd
- * RTO = (tcp_rtt_sa >> 3) + (tcp_rtt_sa >> 5) + tcp_rtt_sd
+ * RTO = (tcp_rtt_sa / 8) + tcp_rtt_sd
+ * RTO = (tcp_rtt_sa / 2^3) + tcp_rtt_sd
+ * RTO = (tcp_rtt_sa >> 3) + tcp_rtt_sd
*
* The "tcp_rexmit_interval_extra" and "tcp_conn_grace_period" tunables are
* used to help account for extreme environments where the algorithm fails to
@@ -613,7 +607,7 @@ extern uint32_t tcp_early_abort;
* calculating the intial RTO, and so is optionally passed in as "extra".) We
* add them here:
*
- * RTO = (tcp_rtt_sa >> 3) + (tcp_rtt_sa >> 5) + tcp_rtt_sd +
+ * RTO = (tcp_rtt_sa >> 3) + tcp_rtt_sd +
* tcps_rexmit_interval_extra + tcps_conn_grace_period
*
* We then pin the RTO within our configured boundaries (sections 2.4 and 2.5
@@ -624,8 +618,8 @@ tcp_calculate_rto(tcp_t *tcp, tcp_stack_t *tcps, uint32_t extra)
{
clock_t rto;
- rto = NSEC2MSEC((tcp->tcp_rtt_sa >> 3) + (tcp->tcp_rtt_sa >> 5) +
- tcp->tcp_rtt_sd) + tcps->tcps_rexmit_interval_extra + extra;
+ rto = NSEC2MSEC((tcp->tcp_rtt_sa >> 3) + tcp->tcp_rtt_sd) +
+ tcps->tcps_rexmit_interval_extra + extra;
if (rto < tcp->tcp_rto_min) {
rto = tcp->tcp_rto_min;