[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160111.172548.746102330510579400.davem@davemloft.net>
Date: Mon, 11 Jan 2016 17:25:48 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: ncardwell@...gle.com
Cc: netdev@...r.kernel.org, ycheng@...gle.com, edumazet@...gle.com
Subject: Re: [PATCH net] tcp_yeah: don't set ssthresh below 2
From: Neal Cardwell <ncardwell@...gle.com>
Date: Mon, 11 Jan 2016 13:42:43 -0500
> For tcp_yeah, use an ssthresh floor of 2, the same floor used by Reno
> and CUBIC, per RFC 5681 (equation 4).
>
> tcp_yeah_ssthresh() was sometimes returning a 0 or negative ssthresh
> value if the intended reduction is as big or bigger than the current
> cwnd. Congestion control modules should never return a zero or
> negative ssthresh. A zero ssthresh generally results in a zero cwnd,
> causing the connection to stall. A negative ssthresh value will be
> interpreted as a u32 and will set a target cwnd for PRR near 4
> billion.
>
> Oleksandr Natalenko reported that a system using tcp_yeah with ECN
> could see a warning about a prior_cwnd of 0 in
> tcp_cwnd_reduction(). Testing verified that this was due to
> tcp_yeah_ssthresh() misbehaving in this way.
>
> Reported-by: Oleksandr Natalenko <oleksandr@...alenko.name>
> Signed-off-by: Neal Cardwell <ncardwell@...gle.com>
> Signed-off-by: Yuchung Cheng <ycheng@...gle.com>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Applied and queued up for -stable, thanks!
Powered by blists - more mailing lists