netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gavin McCullagh <Gavin.McCullagh@nuim.ie>
To: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi>
Cc: David Miller <davem@davemloft.net>, Netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH/RFC] [v3] TCP: use non-delayed ACK for congestion	control RTT
Date: Sun, 30 Dec 2007 01:15:00 +0000	[thread overview]
Message-ID: <20071230011500.GA30997@nuim.ie> (raw)
In-Reply-To: <Pine.LNX.4.64.0712211545580.7301@kivilampi-30.cs.helsinki.fi>

Hi,

On Fri, 21 Dec 2007, Ilpo Järvinen wrote:

> > I need to re-read properly, but I think the same problem affects the
> > microsecond values where TCP_CONG_RTT_STAMP is set (used by vegas, veno,
> > yeah, illinois).  I might follow up with another patch which changes the
> > behaviour where TCP_CONG_RTT_STAMP when I'm more sure of that.
>
> Please do, you might have to remove fully_acked checks to do that right 
> though so it won't be as straight-forward change as this one and requires 
> some amount of thinking to result in a right thing.

The TCP_CONG_RTT_STAMP code does need to be fixed similarly.  A combined
patch will follow this mail.  As I understand it, the fully_acked checks
kick in where the ACK is a portion of a TSO chunk and doesn't completely
ACK that chunk.  Leaving the checks in place means you get one rtt for each
TSO chunk, based on the ACK for the last byte of the chunk.  This rtt
therefore is the maximum available and includes the time-lag between the
first and last chunk being acked.  Removing the tests gives you an RTT
value for each ACK in a tso chunk, including the minimum and maximum.  It
seems the minimum rtt is the best indicator of congestion.  On the other
hand having all available RTTs gives the congestion avoidance greater
knowledge of how the RTT is evolving (albeit somewhat coloured by TSO
delays which don't seem too severe in my tests).

The patch I'll suggest for now takes all RTT values available, rather than
the old maximum or adding extra logic to pluck out the minimum.

I've captured some rtt values from timestamps and from
tcp_clean_rtx_queue() to demonstrate the effect of this patch:

http://www.hamilton.ie/gavinmc/linux/tcp_clean_rtx_queue.html#usec

As always, comments are most welcome,

Gavin


  parent reply	other threads:[~2007-12-30  1:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-17 13:44 [PATCH/RFC] TCP: use non-delayed ACK for congestion control RTT Gavin McCullagh
2007-12-18 20:40 ` [PATCH/RFC] [v2] " Gavin McCullagh
2007-12-19 10:28   ` Gavin McCullagh
2007-12-19 11:08   ` Ilpo Järvinen
2007-12-19 11:31     ` Gavin McCullagh
2007-12-19 13:30       ` Ilpo Järvinen
2007-12-21 11:14         ` David Miller
2007-12-21 13:31           ` Gavin McCullagh
2007-12-21 14:05             ` David Miller
2007-12-21 14:07             ` Ilpo Järvinen
2007-12-21 14:10               ` Ilpo Järvinen
2007-12-30  1:15               ` Gavin McCullagh [this message]
2007-12-30  1:25                 ` [PATCH/RFC] [v3] " Gavin McCullagh
2007-12-30  3:09                   ` David Miller
2007-12-30 12:20                     ` Gavin McCullagh
2007-12-30  3:06                 ` David Miller
2007-12-30  9:43                 ` Ilpo Järvinen
2007-12-30 12:35                   ` Gavin McCullagh

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=20071230011500.GA30997@nuim.ie \
    --to=gavin.mccullagh@nuim.ie \
    --cc=davem@davemloft.net \
    --cc=ilpo.jarvinen@helsinki.fi \
    --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 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).