From: David Miller <davem@davemloft.net>
To: shemminger@osdl.org
Cc: kuznet@ms2.inr.ac.ru, alex@sectorb.msk.ru, netdev@vger.kernel.org
Subject: Re: high latency with TCP connections
Date: Thu, 31 Aug 2006 15:44:28 -0700 (PDT) [thread overview]
Message-ID: <20060831.154428.35684218.davem@davemloft.net> (raw)
In-Reply-To: <20060831151456.12a4e080@dxpl.pdx.osdl.net>
From: Stephen Hemminger <shemminger@osdl.org>
Date: Thu, 31 Aug 2006 15:14:56 -0700
> On Fri, 1 Sep 2006 01:46:35 +0400
> Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> wrote:
>
> > > Expecting any performance with one byte write's is silly.
> >
> > I am not sure why you are so confident about status of ABC.
> > I missed the discussions, when it was implemented. Apparently,
> > it was noticed that ABC in its pure form does not make sense
> > with snd_cwnd counted in packets and there were some reasons,
> > why it still was not adapted.
>
> I implemented it but don't think ABC is the correct thing to be doing
> in all cases.
>
> If you read the RFC3465, the problem it is trying to address is that of
> small packets causing growth of congestion window beyond the capacity
> of the link.
>
> It makes a number of assumptions that may not be true for Linux:
> * ABC doesn't take into account congestion window validation RFC2861
> already prevents most of the problem of inflated growth.
> * ABC assumes that the "true" capacity of the link is limited by
> byte count not packet count.
It seems to me that the thing gained by ABC are twofold:
1) protection against ACK division
2) a way to take delayed ACKs into account for cwnd growth
Both of which can be obtained by simply validating the ACK
against the retransmit queue, returning number of true
packets ACK'd.
I would even go so far as to suggest that we should drop ACKs which do
not fall on packetization boundaries. Perhaps only when not in LOSS
state, but I doubt that this matters in practice.
Cases where mid-packet ACK is valid are truly marginal ones involving
repacketization wrt. MSS/MTU changes, and these would self-correct
eventually.
I agree that ABC has some problems. Solution is good, implementation
is just horrible :-)
next prev parent reply other threads:[~2006-08-31 22:44 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-30 10:07 high latency with TCP connections Alexander Vodomerov
2006-08-30 17:27 ` Stephen Hemminger
2006-08-30 21:39 ` David Miller
2006-08-30 22:04 ` Stephen Hemminger
2006-08-30 23:00 ` Rick Jones
2006-08-31 8:14 ` Alexander Vodomerov
2006-08-31 15:44 ` Sridhar Samudrala
2006-08-31 18:22 ` Kelly Burkhart
2006-08-31 19:40 ` Rick Jones
2006-08-31 21:08 ` Ian McDonald
2006-08-31 21:46 ` Alexey Kuznetsov
2006-08-31 22:14 ` Stephen Hemminger
2006-08-31 22:44 ` David Miller [this message]
2006-08-31 23:29 ` Alexey Kuznetsov
2006-08-31 23:57 ` David Miller
2006-09-01 3:23 ` Stephen Hemminger
2006-09-01 3:39 ` Ian McDonald
2006-09-01 6:23 ` David Miller
2006-09-01 9:44 ` Pekka Savola
2006-09-01 9:49 ` David Miller
2006-09-01 9:47 ` Alexey Kuznetsov
2006-09-01 11:00 ` Evgeniy Polyakov
[not found] ` <20060901090046.69b3d583@localhost.localdomain>
2006-09-01 20:55 ` [PATCH] tcp: turn ABC off Stephen Hemminger
2006-09-02 7:22 ` Evgeniy Polyakov
2006-09-02 8:10 ` Herbert Xu
2006-09-04 9:10 ` high latency with TCP connections Alexey Kuznetsov
2006-09-04 16:00 ` [PATCH][RFC] " Alexey Kuznetsov
2006-09-05 17:55 ` Rick Jones
2006-09-05 22:13 ` Alexey Kuznetsov
2006-09-18 7:39 ` David Miller
2006-09-18 17:11 ` Rick Jones
2006-09-18 20:41 ` Alexey Kuznetsov
2006-09-18 21:24 ` Rick Jones
2006-09-18 22:51 ` Alexey Kuznetsov
2006-09-19 0:37 ` Rick Jones
2006-09-22 13:46 ` Alexey Kuznetsov
2006-09-22 17:15 ` Rick Jones
2006-09-18 7:31 ` David Miller
2006-09-18 10:37 ` Alexey Kuznetsov
2006-09-18 13:56 ` David Miller
2006-09-20 22:44 ` Stephen Hemminger
2006-09-20 22:47 ` David Miller
2006-09-20 22:55 ` Stephen Hemminger
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=20060831.154428.35684218.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=alex@sectorb.msk.ru \
--cc=kuznet@ms2.inr.ac.ru \
--cc=netdev@vger.kernel.org \
--cc=shemminger@osdl.org \
/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).