svn commit: r232396 - user/andre/tcp_workqueue/sys/netinet

Andre Oppermann andre at
Fri Mar 2 16:45:29 UTC 2012

On 02.03.2012 17:35, Andre Oppermann wrote:
> Author: andre
> Date: Fri Mar  2 16:35:18 2012
> New Revision: 232396
> URL:
> Log:
>    Prevent a flurry of forced window updates when an application is
>    doing small reads on a (partially) filled receive socket buffer.
>    Normally one would a send a window update every time the available
>    space in the socket buffer increases by two times MSS.  This leads
>    to a flurry of window updates that do not provide any meaningful
>    new information to the sender.  There still is available space in
>    the window and the sender can continue sending data.  All window
>    updates then get carried by the regular ACKs.  Only when the socket
>    buffer was (almost) full and the window closed accordingly a window
>    updates delivery new information and allows the sender to start
>    sending more data again.
>    Send window updates only every two MSS when the socket buffer
>    has less than 1/8 space available, or the available space in the
>    socket buffer increased by 1/4 its full capacity, or the socket
>    buffer is very small.  The next regular data ACK will carry and
>    report the exact window size again.
>    Reported by:	sbruno
>    Tested by:	Darren Baginsky

Oops, the correct last name is "Baginski" and previous version before
some more recent changes to tcp_output() about Aug 2011.

>    PR:		kern/116335
> Modified:
>    user/andre/tcp_workqueue/sys/netinet/tcp_output.c


More information about the svn-src-user mailing list