From owner-freebsd-net@FreeBSD.ORG Sat Sep 23 14:28:44 2006 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7005616A403; Sat, 23 Sep 2006 14:28:44 +0000 (UTC) (envelope-from dwmalone@maths.tcd.ie) Received: from salmon.maths.tcd.ie (salmon.maths.tcd.ie [134.226.81.11]) by mx1.FreeBSD.org (Postfix) with SMTP id BF77B43D7E; Sat, 23 Sep 2006 14:28:42 +0000 (GMT) (envelope-from dwmalone@maths.tcd.ie) Received: from walton.maths.tcd.ie ([134.226.81.10] helo=walton.maths.tcd.ie) by salmon.maths.tcd.ie with SMTP id ; 23 Sep 2006 15:28:41 +0100 (BST) Received: from localhost ([127.0.0.1] helo=maths.tcd.ie) by walton.maths.tcd.ie with SMTP id ; 23 Sep 2006 15:28:37 +0100 (BST) To: Andre Oppermann In-reply-to: Your message of "Sat, 23 Sep 2006 12:20:01 +0200." <45150A51.8080501@freebsd.org> X-Request-Do: Date: Sat, 23 Sep 2006 15:28:36 +0100 From: David Malone Message-ID: <200609231528.aa12963@walton.maths.tcd.ie> Cc: Andrew Gallatin , alc@freebsd.org, freebsd-net@freebsd.org, freebsd-current@freebsd.org, Robert Watson , tegge@freebsd.org Subject: Re: Much improved sendfile(2) kernel implementation X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Sep 2006 14:28:44 -0000 > The congestion window is increased based on the ACK's received. TSO > is only done on the send side and only up to the current congestion > window. I have been careful not to get any changes in congestion > control behavior with TSO. (Which does not mean that there may be > other bugs lurking in our congestion control.) I think the reason this happened in Linux was because thw congestion window is counted in segments, which were now TSO sized. You'd send 1 TSO sized segment, get back (say) 10 ACKs because of segmentation and increase the window size by 10*TSO_SEG_SIZE/cwnd insead of 10*REAL_MSS/cwnd. We're unlikely to have exactly the same bug, because we count cwnd in bytes, but it doesn't rule out haveing other unexpected/subtle interactions (like higher varience of RTT esitmation - I guess all packets in a TSO segment are now sent with the same timestamp?). David.