Skip site navigation (1)Skip section navigation (2)
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>