From: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
To: Ilpo J?rvinen <ilpo.jarvinen@helsinki.fi>
Cc: John Heffner <jheffner@psc.edu>,
David Miller <davem@davemloft.net>,
Netdev <netdev@vger.kernel.org>, Matt Mathis <mathis@psc.edu>
Subject: Re: [PATCH net-2.6 0/3]: Three TCP fixes
Date: Wed, 5 Dec 2007 14:17:40 +0300 [thread overview]
Message-ID: <20071205111740.GA4024@ms2.inr.ac.ru> (raw)
In-Reply-To: <Pine.LNX.4.64.0712042319160.12072@kivilampi-30.cs.helsinki.fi>
Hello!
> My theory is that it could relate to tcp_cwnd_restart and
> tcp_cwnd_application_limited using it and the others are just then
> accidently changed as well. Perhaps I'll have to dig once again to
> changelog history to see if there's some clue (unless Alexey shed
> some light to this)...
Yes, it is RFC2861. There is some rationale in preamble to section 3.
But even for this case it can be set to full cwnd instead.
Also, I used it to calculate prior_ssthresh to restore ssthresh
in the case when we detect false retransmission. It is not an accident.
I really mean that tcp_current_sshresh() is correct estimate
for "current ssthresh" and this should be the same as in restart
situation. Of course, rationale of RFC2861 does not apply
to this case _directly_. But it was at the end of chain of syllogisms.
Look:
If we have not infinite ssthresh and cwnd > ssthresh, we are already
in congestion avoidance mode and we can set prior_ssthresh to any value
in the range ssthresh...cwnd without significant changes in behaviour
wrt congestion avoidance.
ssthresh would be an obvious underestimate.
cwnd can be an overestimate, because the path is surely congested
(cwnd > ssthresh) and cwnd is not a measure of current capacity.
Behavioral changes happen, when final cwnd is too low, because pipe
was drained during recovery. We allow to slow start to sshresh,
but value of ssthresh should be the same as we use for restart case.
Alexey
next prev parent reply other threads:[~2007-12-05 11:18 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-04 16:48 [PATCH net-2.6 0/3]: Three TCP fixes Ilpo Järvinen
2007-12-04 16:48 ` [PATCH 1/3] [TCP] FRTO: Use of existing funcs make code more obvious & robust Ilpo Järvinen
2007-12-04 16:48 ` [PATCH 2/3] [TCP]: Move prior_in_flight collect to more robust place Ilpo Järvinen
2007-12-04 16:48 ` [PATCH 3/3] [TCP]: NAGLE_PUSH seems to be a wrong way around Ilpo Järvinen
2007-12-05 10:26 ` David Miller
2007-12-05 11:18 ` Ilpo Järvinen
2007-12-05 11:33 ` David Miller
2007-12-05 10:21 ` [PATCH 2/3] [TCP]: Move prior_in_flight collect to more robust place David Miller
2007-12-05 10:21 ` [PATCH 1/3] [TCP] FRTO: Use of existing funcs make code more obvious & robust David Miller
2007-12-04 18:42 ` [PATCH net-2.6 0/3]: Three TCP fixes John Heffner
2007-12-04 21:10 ` Ilpo Järvinen
2007-12-04 21:17 ` John Heffner
2007-12-04 21:26 ` Ilpo Järvinen
2007-12-05 11:17 ` Alexey Kuznetsov [this message]
2007-12-05 2:13 ` Matt Mathis
2007-12-05 10:30 ` David Miller
2007-12-05 11:30 ` Ilpo Järvinen
2007-12-06 4:56 ` David Miller
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=20071205111740.GA4024@ms2.inr.ac.ru \
--to=kuznet@ms2.inr.ac.ru \
--cc=davem@davemloft.net \
--cc=ilpo.jarvinen@helsinki.fi \
--cc=jheffner@psc.edu \
--cc=mathis@psc.edu \
--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).