Date: Wed, 17 Jul 2002 18:06:13 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Mike Silbersack <silby@silby.com> Cc: cvs-committers@FreeBSD.ORG, <cvs-all@FreeBSD.ORG> Subject: Re: cvs commit: src/sys/netinet tcp_timer.h Message-ID: <200207180106.g6I16Dqd004375@apollo.backplane.com> References: <20020717190935.I83269-100000@patrocles.silby.com>
next in thread | previous in thread | raw e-mail | index | archive | help
: :1. The value should be scaled by hz so that it does not change with HZ :settings. (That's not central the problem, though.) The value should be scaled for algorithmic stability. It should not be set at a particular latency because then you are making some severe assumptions in regards not only to the network latency and bandwidth, but also in regards to the type of applications running over it. I have one person who is running filesystem-like transactional code over the network. One second of latency screws things up in a major way for him. :2. 3 ticks * 10ms should = 30ms. Even on a nice ethernet network, I :think that's a bit low of a retransmit timeout; a simple router hiccup :could cause a bunch of needless retransmits. The retransmit timeout is a calculation based on the exponentially averaged RTT. The minimum is just that... a minimum. If the calculation winds up being 1 ms then that is what the retransmit timeout should be. On a gigabit network a 1 second retransmission timeout is simply absurd. Period. :I don't doubt that changing this value may show improvements in _some_ :environments, but it's probably not a good idea to allow retransmit :timeouts this small in regular practice. Why not? :What do the traceroutes you gathered look like? Are these bulk transfers :being hung up by something broken in our fast retransmit mechanism, or are :you watching telnet-ish stop and go connections? : :I'm not saying that the minimum of 1 second can't be changed... 500ms :might be reasonable. However, 30ms seems really too short. : :Mike "Silby" Silbersack I'm watching traffic over a 100BaseTX switch and using dummynet to simulate packet loss. Go ahead and try it yourself... just 1% packet loss screws everything up with the minimum latency set to one second. Try doing a large ftp transfer. Then reduce the minimum latency so it doesn't interfere with the normal retransmission mechanisms and try doing the large ftp transfer with 1% packet loss again. BIG difference. -Matt Matthew Dillon <dillon@backplane.com> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207180106.g6I16Dqd004375>