From owner-svn-src-user@FreeBSD.ORG Fri Mar 2 16:45:29 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0999E106564A for ; Fri, 2 Mar 2012 16:45:29 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 68E608FC17 for ; Fri, 2 Mar 2012 16:45:27 +0000 (UTC) Received: (qmail 44023 invoked from network); 2 Mar 2012 15:00:04 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 2 Mar 2012 15:00:04 -0000 Message-ID: <4F50F91B.3020309@freebsd.org> Date: Fri, 02 Mar 2012 17:45:15 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 MIME-Version: 1.0 To: Andre Oppermann References: <201203021635.q22GZIEu038375@svn.freebsd.org> In-Reply-To: <201203021635.q22GZIEu038375@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r232396 - user/andre/tcp_workqueue/sys/netinet X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Mar 2012 16:45:29 -0000 On 02.03.2012 17:35, Andre Oppermann wrote: > Author: andre > Date: Fri Mar 2 16:35:18 2012 > New Revision: 232396 > URL: http://svn.freebsd.org/changeset/base/232396 > > 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 -- Andre