diff options
author | dillon <dillon@FreeBSD.org> | 2001-11-30 21:33:39 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 2001-11-30 21:33:39 +0000 |
commit | cbc4eaa756568b2e5fd2ccc6f12db750bb898cd1 (patch) | |
tree | 6c9d62d3fbdeb97c9f433d6372654e0a5c66f746 /sys | |
parent | 68b9d3708b5fb244dc13d9b8d4182585e3ea9b5b (diff) | |
download | FreeBSD-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.c | 10 |
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); } |