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 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.