public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: Dominik Kaspar <dokaspar.ietf@gmail.com>
Cc: Carsten Wolff <carsten@wolffcarsten.de>, netdev@vger.kernel.org
Subject: Re: Linux TCP's Robustness to Multipath Packet Reordering
Date: Mon, 25 Apr 2011 17:38:35 +0200	[thread overview]
Message-ID: <1303745915.2747.151.camel@edumazet-laptop> (raw)
In-Reply-To: <BANLkTi=xns1Gdjyt-SX3yDETSQfO23rXXg@mail.gmail.com>

Le lundi 25 avril 2011 à 16:35 +0200, Dominik Kaspar a écrit :
> Hi Eric and Carsten,
> 
> Thanks a lot for your quick replies. I don't have a tcpdump of this
> experiment, but here is the tcp_probe log that the plot is based on
> (I'll run a new test using tcpdump if you think that's more useful):
> 
> http://home.simula.no/~kaspar/static/mptcp-emu-wlan-hspa-00.log
> 
> I have also noticed what Carsten mentions, the tcp_reordering value is
> essential for this whole behavior. When I start an experiment and
> increase sysctl.net.ipv4.tcp_reordering during the running connection,
> the TCP throughput immediately jumps close to the aggregate of both
> paths. Without intervention, as in this experiment, tcp_reordering
> starts out as 3 and then makes small oscillations between 3 and 12 for
> more than 2 minutes. At about second 141, TCP somehow finds a new
> highest reordering value (23) and at the same time, the throughput
> jumps up "to the next level". The value of 23 is then used all the way
> until second 603, when the reordering value becomes 32 and the
> throughput again jumps up a level.
> 
> I understand that tp->reordering is increased when reordering is
> detected, but what causes tp->reordering to sometimes be decreased
> back to 3? Also, why does a decrease back to 3 not make the whole
> procedure start all over again? For example, at second 1013.64,
> tp->reordering falls from 127 down to 3. A second later (1014.93) it
> then suddenly increases from 3 up to 32 without considering any
> numbers in between. Why it is now suddenly so fast? At the very
> beginning, it took 600 seconds to grow from 3 to 32 and afterward it
> just takes a second...?
> 
> For the experiments, all default TCP options were used, meaning that
> SACK, DSACK, Timestamps, were all enabled. Not sure how to turn on/off
> TSO... so that is probably enabled, too. Path emulation is done with
> tc/netem at the receiver interfaces (eth1, eth2) with this script:
> 

Since you have at sender a rule to spoof destination address of packets,
you should make sure you dont send "super packets (up to 64Kbytes)",
because it would stress the multipath more than you wanted to. This way,
you send only normal packets (1500 MTU).

ethtool -K eth0 tso off
ethtool -K eth0 gso off

I am pretty sure it should help your (atypic) workload.

> http://home.simula.no/~kaspar/static/netem.sh
> 
> Greetings,
> Dominik



  reply	other threads:[~2011-04-25 15:38 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-25 10:37 Linux TCP's Robustness to Multipath Packet Reordering Dominik Kaspar
2011-04-25 11:25 ` Eric Dumazet
2011-04-25 14:35   ` Dominik Kaspar
2011-04-25 15:38     ` Eric Dumazet [this message]
2011-04-26 16:58       ` Dominik Kaspar
2011-04-26 17:10         ` Eric Dumazet
2011-04-26 18:00           ` Dominik Kaspar
2011-04-26 20:16             ` John Heffner
2011-04-26 21:27               ` Dominik Kaspar
2011-04-27  9:57               ` Carsten Wolff
2011-04-27 16:22                 ` Dominik Kaspar
2011-04-27 16:36                   ` Alexander Zimmermann
2011-06-21 11:25                     ` Ilpo Järvinen
2011-06-21 11:34                       ` Carsten Wolff
2011-06-21 11:46                         ` Ilpo Järvinen
2011-04-27 16:48                   ` Eric Dumazet
2011-04-27 17:39                   ` Yuchung Cheng
2011-04-27 17:53                     ` Alexander Zimmermann
2011-04-27 19:56                     ` Dominik Kaspar
2011-04-27 21:41                       ` Yuchung Cheng
2011-04-28  6:11                         ` Alexander Zimmermann
2011-06-19 15:22                           ` Dominik Kaspar
2011-06-19 15:38                             ` Alexander Zimmermann
2011-06-19 16:25                               ` Dominik Kaspar
2011-06-20 10:42                                 ` Ilpo Järvinen
2011-06-20 12:52                                   ` Dominik Kaspar
2011-06-21 11:35                                     ` Ilpo Järvinen
2011-04-26 20:43     ` Eric Dumazet
2011-04-26 21:04       ` Dominik Kaspar
2011-04-26 21:08         ` Eric Dumazet
2011-04-26 21:16           ` Dominik Kaspar
2011-04-26 21:17           ` Eric Dumazet
2011-04-25 12:59 ` Carsten Wolff

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=1303745915.2747.151.camel@edumazet-laptop \
    --to=eric.dumazet@gmail.com \
    --cc=carsten@wolffcarsten.de \
    --cc=dokaspar.ietf@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