summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2001-11-30 21:33:39 +0000
committerdillon <dillon@FreeBSD.org>2001-11-30 21:33:39 +0000
commitcbc4eaa756568b2e5fd2ccc6f12db750bb898cd1 (patch)
tree6c9d62d3fbdeb97c9f433d6372654e0a5c66f746 /sys
parent68b9d3708b5fb244dc13d9b8d4182585e3ea9b5b (diff)
downloadFreeBSD-src-cbc4eaa756568b2e5fd2ccc6f12db750bb898cd1.zip
FreeBSD-src-cbc4eaa756568b2e5fd2ccc6f12db750bb898cd1.tar.gz
The transmit burst limit for newreno completely breaks TCP's performance
if the receive side is using delayed acks. Temporarily remove it. MFC after: 0 days
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet/tcp_output.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index 683eeef..92072d6 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -921,8 +921,18 @@ out:
tp->t_flags &= ~TF_ACKNOW;
if (tcp_delack_enabled)
callout_stop(tp->tt_delack);
+#if 0
+ /*
+ * This completely breaks TCP if newreno is turned on. What happens
+ * is that if delayed-acks are turned on on the receiver, this code
+ * on the transmitter effectively destroys the TCP window, forcing
+ * it to four packets (1.5Kx4 = 6K window).
+ */
if (sendalot && (!tcp_do_newreno || --maxburst))
goto again;
+#endif
+ if (sendalot)
+ goto again;
return (0);
}
OpenPOWER on IntegriCloud