netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Werner Almesberger <wa@almesberger.net>
To: kuznet@ms2.inr.ac.ru
Cc: netdev@oss.sgi.com, chengjin@cs.caltech.edu
Subject: Re: snd_cwnd drawn and quartered
Date: Tue, 14 Jan 2003 02:25:09 -0300	[thread overview]
Message-ID: <20030114022509.P1516@almesberger.net> (raw)
In-Reply-To: <200301140502.IAA10733@sex.inr.ac.ru>; from kuznet@ms2.inr.ac.ru on Tue, Jan 14, 2003 at 08:02:23AM +0300

kuznet@ms2.inr.ac.ru wrote:
> Losses in the same window must not result in multiplicative collapse
> of cwnd or extension of recovery period. If they do, we are really buggy.

Oh, according to NewReno, extending the recovery period is just fine.
You just need to stop counting ... And what we have is definitely
NewReno-ish, with recovery ending at high_seq.

> Which is funny and unexpected, I read the paper only after the implementation
> has been mostly finished (based on old Hoe's papers) and just added
> some colorful details, sort of this one. :-)

That explains why things are so similar but still not quite the
same :-))

> It is required to stop all the smartness and to enter RTO timeout,

Okay, that makes also the ssthresh/2 fix easier, because it eliminates
the one case where the current behaviour is actually right.

> I did not get this. This limit is boundary check which you referred to
> several sentences above. Not falling under prior_cwnd/2 does not need
> a special check, we do not receive more than prior_cnwd ACKs while single
> recovery period in any case.

Yes yes, we do ... that's what NewReno is all about. Let's say you
lose the 0th and the 99th segment (with cwnd = 100). You'll detect
the first loss at t = 100, and enter recovery. You leave recovery
once snd_nxt (stored in high_seq) at that time has been ack'ed. So
this is 100. At time t=199, we find out about the loss of the 99th
segment, and retransmit. This gets ack'ed at time t=299. So it's
only then when we leave recovery.

draft-ratehalving distinguishes the adjustement interval and the
repair interval. The latter lasts until we've fixed all losses,
while the former should indeed not exceed one RTT. It's this
limitation that's missing in Linux.

> Huh. We can just shot this silly heuritsics, if it hurts. :-)

If you enter RTO upon loss of retransmission, we can, yes.
(And we don't even need a new variable ;-)

- Werner

-- 
  _________________________________________________________________________
 / Werner Almesberger, Buenos Aires, Argentina         wa@almesberger.net /
/_http://www.almesberger.net/____________________________________________/

  parent reply	other threads:[~2003-01-14  5:25 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-25  1:50 snd_cwnd drawn and quartered Werner Almesberger
2003-01-02  1:38 ` kuznet
2003-01-02  6:08   ` Werner Almesberger
2003-01-02  8:31     ` Werner Almesberger
2003-01-02 21:26     ` Werner Almesberger
2003-01-14  0:12     ` kuznet
2003-01-14  1:20       ` Cheng Jin
2003-01-14  1:46         ` kuznet
2003-01-14  1:58           ` Cheng Jin
2003-01-14  2:12             ` kuznet
2003-01-14  2:19               ` Cheng Jin
2003-01-14  5:07                 ` kuznet
2003-01-14  4:01       ` Werner Almesberger
     [not found]         ` <200301140502.IAA10733@sex.inr.ac.ru>
2003-01-14  5:25           ` Werner Almesberger [this message]
2003-01-14  6:14             ` kuznet
2003-01-14  6:36               ` Werner Almesberger
2003-01-15 17:50                 ` kuznet
2003-01-15 18:25                   ` Werner Almesberger
2003-01-15 18:43                     ` kuznet
2003-01-15 19:37                       ` Werner Almesberger
2003-01-19  6:55         ` example showing how cwnd gets to one Cheng Jin
2003-01-14  0:54     ` snd_cwnd drawn and quartered kuznet

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=20030114022509.P1516@almesberger.net \
    --to=wa@almesberger.net \
    --cc=chengjin@cs.caltech.edu \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=netdev@oss.sgi.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).