lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201103151107.35379.carsten@wolffcarsten.de>
Date:	Tue, 15 Mar 2011 11:07:34 +0100
From:	Carsten Wolff <carsten@...ffcarsten.de>
To:	Yuchung Cheng <ycheng@...gle.com>
Cc:	David Miller <davem@...emloft.net>,
	Ilpo Jarvinen <ilpo.jarvinen@...sinki.fi>,
	Nandita Dukkipati <nanditad@...gle.com>, netdev@...r.kernel.org
Subject: Re: [PATCH] tcp: avoid cwnd moderation in undo

Hi,

On Monday 14 March 2011, Yuchung Cheng wrote:
> On Mon, Mar 14, 2011 at 3:06 AM, Carsten Wolff <carsten@...ffcarsten.de> 
wrote:
> > The moderation is in place to avoid gigantic segment bursts, which could
> > cause unnecessary pressure on buffers. In my eyes it's already
> > suboptimal that the moderation is weakened in the presence of (detected)
> > reordering, let alone removing it completely.
> 
> In the presence of reordering, cwnd is already moderated in Disorder
> state before
>  entering the (false) recovery.

Sure, cwnd moderation to in_flight + 1 segment is applied in disorder state, 
because this is implementing a form of extended limited transmit. 
Nevertheless, after a reordering event that caused a spurious fast retransmit, 
there can be an undo of congestion state changes (either after recovery or 
interrupting recovery, depending on the options enabled in the connection). I 
just wanted to point out, that the moderation step happening upon an undo may 
allow a larger burst, if a previous reordering event was detected and caused 
tp->reordering to be increased.

> > More importantly, the prior ssthresh is restored and not affected by
> > moderation. This means, if moderation reduces cwnd to a small value, then
> > cwnd < ssthresh and TCP will quickly slow-start back to the previous
> > state, without sending a big burst of segments.

This is actually the more important point, because it means that the 
moderation does not negate the effects of the undo operation, as suggested by 
your patch-description.

> > Also, you intended to remove cwnd moderation only from an undo during
> > recovery, but I think your patch also removes cwnd moderation when the
> > undo is caused by D-SACK, i.e. most likely after recovery already ended.
> 
> Thanks. I will update my patch description. But the same principle
> applies that cwnd
> should not be moderated on false events. Whether it should be moderated on
> reordering or other events is another (complex) design issue. But this
> patch does not touch that.

False fast retransmits are mostly caused by reordering, spurious RTOs can also 
be caused by delay variations that do not exhibit reordering. Your patch 
touches all cases of spurious events. Anyway, I just mentioned reordering, 
because it is the event in which Linux already allows larger bursts of size 
tp->reordering in the moderation function (i.e. tp->reordering might be 
increased). It's also not important to me if the undo is happening duringor 
after recovery, the important question is, if burst protection in general is 
an important goal, or not (and I think it's there for a reason).

Carsten
-- 
           /\-ยด-/\
          (  @ @  )
________o0O___^___O0o________
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ