netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Heffner <jheffner@psc.edu>
To: David Miller <davem@davemloft.net>
Cc: tim.c.chen@linux.intel.com, netdev@vger.kernel.org, kuznet@ms2.inr.ac.ru
Subject: Re: 2.6.19-rc1: Volanomark slowdown
Date: Tue, 07 Nov 2006 16:50:33 -0500	[thread overview]
Message-ID: <4550FFA9.8040503@psc.edu> (raw)
In-Reply-To: <20061107.124557.21592397.davem@davemloft.net>

David Miller wrote:
> If we don't ACK every two segments, stacks which grow the congestion
> window based upon packet counting will not grow the congestion window
> properly when they are sending smaller than MSS sized segments.

The only stack I know of that does this currently is linux, and in doing 
so does not conform to the spec. ;)  Sending to a BSD receiver will 
result in the same behavior, so the "right place" to fix this is on the 
sending side.  (I know the issue of packet vs. byte counting has come up 
many times over the last 10 years or so, and many arguments have been 
made on either side... I don't mean this to be flame bait but it's clear 
what will happen in this scenario.)

One way of viewing the current situation is that linux's packet counting 
plus ABC is more conservative than byte counting -- sometimes much more 
so.  Packet counting without ABC may be more or less conservative than 
byte counting, depending on segment sizes and receiver ACK strategy. 
Without ABC, linux is vulnerable to aggressive ACKing to inflate the 
cwnd.  This is a kind of ugly state of affairs.

Unfortunately I see no clear way to reconcile these issues short of 
switching to byte counting.  Obviously this would be a big change as 
packet counting is deeply ingrained in not only the congestion control 
but also the recovery code.

   -John

  reply	other threads:[~2006-11-07 21:51 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1162924354.10806.172.camel@localhost.localdomain>
2006-11-07 20:45 ` 2.6.19-rc1: Volanomark slowdown David Miller
2006-11-07 21:50   ` John Heffner [this message]
2006-11-07 22:22     ` David Miller
2006-11-07 22:29       ` John Heffner
2006-11-08 10:07   ` Alexey Kuznetsov
2006-11-08 15:55 ` Arjan van de Ven
2006-11-08 16:29   ` Olaf Kirch
2006-11-08 18:38     ` Tim Chen
2006-11-08 19:44       ` Arjan van de Ven
2006-11-08 22:10       ` Olaf Kirch
2006-11-08 22:07         ` Tim Chen
2006-11-08 23:00           ` Stephen Hemminger
2006-11-08 22:32             ` Tim Chen
2006-11-09  9:21           ` Olaf Kirch
2006-11-08 22:58         ` Stephen Hemminger
2006-11-09  1:08         ` Rick Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4550FFA9.8040503@psc.edu \
    --to=jheffner@psc.edu \
    --cc=davem@davemloft.net \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=netdev@vger.kernel.org \
    --cc=tim.c.chen@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).