netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Wenji Wu <wenji@fnal.gov>
To: "'Ilpo Järvinen'" <ilpo.jarvinen@helsinki.fi>
Cc: 'John Heffner' <johnwheffner@gmail.com>,
	'David Miller' <davem@davemloft.net>,
	'Netdev' <netdev@vger.kernel.org>
Subject: RE: about Linux adaptivly adjusting dupthresh
Date: Thu, 28 Aug 2008 14:30:40 -0500	[thread overview]
Message-ID: <000001c90944$8edb4290$a05ee183@D2GT6T71> (raw)
In-Reply-To: <Pine.LNX.4.64.0808282135350.7618@wrl-59.cs.helsinki.fi>

Thanks,

-----Original Message-----
From: Ilpo Järvinen [mailto:ilpo.jarvinen@helsinki.fi] 
Sent: Thursday, August 28, 2008 1:53 PM
To: Wenji Wu
Cc: 'John Heffner'; 'David Miller'; 'Netdev'
Subject: Re: about Linux adaptivly adjusting dupthresh

On Thu, 28 Aug 2008, Wenji Wu wrote:

> Sorry, I made a mistake in the last post, what I mean is "algorithms
> adaptively adjust TCP reordering threshold dupthresh". 

Ah, that makes much more sense. :-)

> I understand that "Eifel algorithm" or "DSACK TCP" will adaptively adjust
> dupthresh to deal with packet reordering. Are there any other
> reordering-tolerant algorithms implemented in Linux? 

First about adaptive dupthresh:

In addition to DSACK, we use never-retransmitted block's cumulative ACKs 
to increase the dupthresh (see tcp_clean_rtx_queue). Then there's some 
newreno thing when dupacks > packets_out but I've never really figured it 
fully out if that's doing the correct thing when doing + tp->packets_out 
besides the most simple case (see tcp_check_reno_reordering).

I don't think that eifel adjusts dupthresh though it can remove ambiguity 
problem and thus we can use the never-retransmitted block acked detection 
more often.

Also, there's some added logic for small-windowed case to reduce dupthresh 
temporarily (at the smallest to 3 or whatever the default is) if window is 
not large enough to generate the incremented (see tcp_time_to_recover).


Again, I'm not too sure what you mean by "reordering tolerant", but here 
are some things that may be related:

FACK -> RFC3517 auto-fallback if reordering is detected (basically holes 
are only counted with FACK in the more-than-dupthresh check).

I guess Eifel like timestamp checking belongs to this category (in 
tcp_try_undo_partial).

If latency spike + reordering occurs, SACK FRTO might help but I think
it depends on scenario.

-- 
 i.



  reply	other threads:[~2008-08-28 19:30 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-04  4:54 A Linux TCP SACK Question Wenji Wu
2008-04-04 16:27 ` John Heffner
2008-04-04 17:49   ` Wenji Wu
2008-04-04 18:07     ` John Heffner
2008-04-04 20:00     ` Ilpo Järvinen
2008-04-04 20:07       ` Wenji Wu
2008-04-04 21:15       ` Wenji Wu
2008-04-04 21:33         ` Ilpo Järvinen
2008-04-04 21:39           ` Ilpo Järvinen
2008-04-04 22:14             ` Wenji Wu
2008-04-05 17:42               ` Ilpo Järvinen
2008-04-05 21:17               ` Sangtae Ha
2008-04-06 20:27                 ` Wenji Wu
2008-04-06 22:43                   ` Sangtae Ha
2008-04-07 14:56                     ` Wenji Wu
2008-04-08  6:36                       ` Ilpo Järvinen
2008-04-08 12:33                         ` Wenji Wu
2008-04-08 13:45                           ` Ilpo Järvinen
2008-04-08 14:30                             ` Wenji Wu
2008-04-08 14:59                               ` Ilpo Järvinen
2008-04-08 15:27                                 ` Wenji Wu
2008-04-08 17:26                                   ` Ilpo Järvinen
2008-04-14 22:47                                 ` Wenji Wu
2008-04-15  0:48                                   ` John Heffner
2008-04-15  8:25                                     ` Ilpo Järvinen
2008-04-15 18:01                                       ` Wenji Wu
2008-04-15 22:40                                         ` John Heffner
2008-04-16  8:27                                           ` David Miller
2008-04-16  9:21                                             ` Ilpo Järvinen
2008-04-16  9:35                                               ` David Miller
2008-04-16 14:50                                                 ` Wenji Wu
2008-04-18  6:52                                                   ` David Miller
2008-08-27 14:38                                                 ` about Linux adaptivly adjusting ssthresh Wenji Wu
2008-08-27 22:48                                                   ` John Heffner
2008-08-28  0:53                                                     ` Wenji Wu
2008-08-28  6:34                                                       ` Ilpo Järvinen
2008-08-28 14:20                                                         ` about Linux adaptivly adjusting dupthresh Wenji Wu
2008-08-28 18:53                                                           ` Ilpo Järvinen
2008-08-28 19:30                                                             ` Wenji Wu [this message]
2008-04-16 14:40                                               ` A Linux TCP SACK Question John Heffner
2008-04-16 15:03                                                 ` Ilpo Järvinen
2008-04-16 14:46                                           ` Wenji Wu
2008-04-15 15:45                                     ` Wenji Wu
2008-04-15 16:39                                     ` Wenji Wu
2008-04-15 17:01                                       ` John Heffner
2008-04-15 17:08                                         ` Ilpo Järvinen
2008-04-15 17:23                                           ` John Heffner
2008-04-15 18:00                                             ` Matt Mathis
2008-04-15 17:55                                         ` Wenji Wu
2008-04-08 15:57                           ` John Heffner
2008-04-08 14:07                         ` John Heffner
2008-04-14 16:10                         ` Wenji Wu
2008-04-14 16:48                           ` Ilpo Järvinen
2008-04-14 22:07                             ` Wenji Wu
2008-04-15  8:23                               ` Ilpo Järvinen
2008-04-04 21:40           ` Wenji Wu

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='000001c90944$8edb4290$a05ee183@D2GT6T71' \
    --to=wenji@fnal.gov \
    --cc=davem@davemloft.net \
    --cc=ilpo.jarvinen@helsinki.fi \
    --cc=johnwheffner@gmail.com \
    --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).