From: Andreas Petlund <apetlund@simula.no>
To: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi>
Cc: Arnd Hannemann <hannemann@nets.rwth-aachen.de>,
William Allen Simpson <william.allen.simpson@gmail.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"shemminger@vyatta.com" <shemminger@vyatta.com>,
"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [PATCH 1/3] net: TCP thin-stream detection
Date: Mon, 09 Nov 2009 16:24:52 +0100 [thread overview]
Message-ID: <4AF83444.9090208@simula.no> (raw)
In-Reply-To: <alpine.DEB.2.00.0911051536200.7024@wel-95.cs.helsinki.fi>
Ilpo Järvinen wrote:
> On Thu, 5 Nov 2009, Andreas Petlund wrote:
>
>> Arnd Hannemann wrote:
>>> One example: Consider standard NewReno non-SACK enabled flow:
>>> For some reasons two data packets get reordered.
>>> The TCP sender will produce a dupACK and an ACK.
>>> The dupACK will trigger (because of your logic) a spurious retransmit.
>>> The spurious retransmit will trigger a dupACK.
>>> This dupACK will again trigger a spurious retransmit.
>>> And this game will continue, unless a packet is dropped by coincidence.
>> Such an effect will be extremely rare. It will depend on the application
>> producing an extremely even flow of packets with just the right
>> interarrival time, and also on reordering of data (which also will
>> happen very seldom when the number of packets in flight are so low).
>> Even though it can happen, the data flow will progress (with spurious
>> retransmissions). The effect will stop as soon as the application sends
>> more than 4 segments in an RTT (which will disable the thin-stream
>> modifications) or less than 1 (which will cause all segments to be
>> successfully ACKed), or if, as you say, a packet is dropped.
>
> I'd simply workaround this problem by requiring SACK to be enabled for
> such a connection. This is reinforced by the fact that small windowed
> transfers want it certainly to be on anyway to get the best out of ACK
> flow even if there were some ACK losses.
>
Thanks. I will revise the patches based on all the feedback I have gotten
and get back to the list with a new version when I have done some more
testing.
Best regards,
Andreas
next prev parent reply other threads:[~2009-11-09 15:24 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-30 13:53 [PATCH 1/3] net: TCP thin-stream detection apetlund
2009-10-30 15:24 ` Arnd Hannemann
2009-11-05 13:34 ` Andreas Petlund
2009-11-05 13:45 ` Ilpo Järvinen
2009-11-09 15:24 ` Andreas Petlund [this message]
-- strict thread matches above, loose matches on Subject: below --
2009-10-30 15:23 apetlund
2009-10-30 16:13 ` William Allen Simpson
2009-11-05 13:36 ` Andreas Petlund
2009-10-27 16:31 Andreas Petlund
2009-10-28 3:09 ` William Allen Simpson
2009-10-29 13:51 ` Andreas Petlund
2009-10-29 16:32 ` Arnd Hannemann
2009-10-29 20:26 ` Ilpo Järvinen
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=4AF83444.9090208@simula.no \
--to=apetlund@simula.no \
--cc=davem@davemloft.net \
--cc=hannemann@nets.rwth-aachen.de \
--cc=ilpo.jarvinen@helsinki.fi \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=shemminger@vyatta.com \
--cc=william.allen.simpson@gmail.com \
/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).