From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rick Jones Subject: Re: tcp bw in 2.6 Date: Tue, 02 Oct 2007 12:53:02 -0700 Message-ID: <4702A19E.5090403@hp.com> References: <20071002005917.GB5480@bitmover.com> <20071002150935.GC17418@bitmover.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Larry McVoy , Herbert Xu , davem@davemloft.net, wscott@bitmover.com, netdev@vger.kernel.org To: Linus Torvalds Return-path: Received: from palrel10.hp.com ([156.153.255.245]:47195 "EHLO palrel10.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752055AbXJBTxP (ORCPT ); Tue, 2 Oct 2007 15:53:15 -0400 In-Reply-To: Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org > I also would have expected more ACK's from the HP box. It's been a long > time since I did TCP, but I thought the rule was still that you were > supposed to ACK at least every other full frame - but the HP box is acking > roughly every 16K (and it's *not* always at TSO boundaries: the earlier > ACK's in the sequence are at 1460-byte packet boundaries, but it does seem > to end up getting into that pattern later on). Drift... The RFC's say "SHOULD" (emphasis theirs) rather than "MUST." Both HP-UX and Solaris have rather robust ACK avoidance heuristics to cut-down on the CPU overhead of bulk transfers. (That they both have them stems from their being cousins, sharing a common TCP stack ancestor long ago - both of course have been diverging since then). rick jones