Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Aug 2007 14:49:28 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        peter@FreeBSD.org
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/netinet tcp_subr.c tcp_timer.h
Message-ID:  <200708022149.l72LnS1n001478@gw.catspoiler.org>
In-Reply-To: <200707312211.l6VMBupO010347@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 31 Jul, Peter Wemm wrote:
> peter       2007-07-31 22:11:56 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/netinet          tcp_subr.c tcp_timer.h 
>   Log:
>   Change TCPTV_MIN to be independent of HZ.  While it was documented to
>   be in ticks "for algorithm stability" when originally committed, it turns
>   out that it has a significant impact in timing out connections.  When we
>   changed HZ from 100 to 1000, this had a big effect on reducing the time
>   before dropping connections.
>   
>   To demonstrate, boot with kern.hz=100.  ssh to a box on local ethernet
>   and establish a reliable round-trip-time (ie: type a few commands).
>   Then unplug the ethernet and press a key.  Time how long it takes to
>   drop the connection.
>   
>   The old behavior (with hz=100) caused the connection to typically drop
>   between 90 and 110 seconds of getting no response.
>   
>   Now boot with kern.hz=1000 (default).  The same test causes the ssh session
>   to drop after just 9-10 seconds.  This is a big deal on a wifi connection.
>   
>   With kern.hz=1000, change sysctl net.inet.tcp.rexmit_min from 3 to 30.
>   Note how it behaves the same as when HZ was 100.  Also, note that when
>   booting with hz=100, net.inet.tcp.rexmit_min *used* to be 30.

I think this explains I was seeing so many dropped connections to my
machine that has been having the "nfe0: watchdog timeout (missed Tx
interrupts) -- recovering" problem.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708022149.l72LnS1n001478>