All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@osdl.org>
To: David Miller <davem@davemloft.net>
Cc: alex@sectorb.msk.ru, netdev@vger.kernel.org
Subject: Re: high latency with TCP connections
Date: Wed, 30 Aug 2006 15:04:27 -0700	[thread overview]
Message-ID: <20060830150427.716a347c@localhost.localdomain> (raw)
In-Reply-To: <20060830.143955.55510936.davem@davemloft.net>

On Wed, 30 Aug 2006 14:39:55 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> From: Stephen Hemminger <shemminger@osdl.org>
> Date: Wed, 30 Aug 2006 10:27:27 -0700
> 
> > Linux TCP implements "Appropriate Byte Count" (ABC) and this penalizes
> > applications that do small sends. The problem is that the other side
> > may be delaying acknowledgments.  If receiver doesn't acknowledge the
> > sender will limit itself to the congestion window. If the flow is light,
> > then you will be limited to 4 packets.
> 
> Right.
> 
> However it occured to me the other day that ABC could be made smarter.
> If we sent small frames, ABC should account for that.
> 
> The problem with ABC is that it prevents CWND growth not just during
> ACK division, but also when we truly are sending smaller sized frames.
> 
> In fact, for "chatty" protocols, the real load on a router for the
> small packets is much less than that for full sized frames.  So it is
> in fact these small frame sending cases for which we can be less
> conservative, whatever that means here.
> 
> So my suggestion is that ABC should go look in the retransmit queue
> and see how many "real packets" are being fully ACK'd, rather than
> assuming the send queue is composed of MSS sized frames.
> 
> I also think we should seriously consider changing the ABC default to
> "2" rather than "1".

That would be a good simple first step. I can't hurt and seems
reasonable.

-- 
Stephen Hemminger <shemminger@osdl.org>

  reply	other threads:[~2006-08-30 22:04 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 [this message]
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
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=20060830150427.716a347c@localhost.localdomain \
    --to=shemminger@osdl.org \
    --cc=alex@sectorb.msk.ru \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.