Re: [PATCH AUTOSEL for 3.18 40/40] tcp: fix under-evaluated ssthresh in TCP Vegas

From: Greg KH
Date: Thu Dec 21 2017 - 04:54:38 EST


On Wed, Dec 13, 2017 at 01:59:21AM +0000, alexander.levin@xxxxxxxxxxx wrote:
> From: Hoang Tran <tranviethoang.vn@xxxxxxxxx>
>
> [ Upstream commit cf5d74b85ef40c202c76d90959db4d850f301b95 ]
>
> With the commit 76174004a0f19785 (tcp: do not slow start when cwnd equals
> ssthresh), the comparison to the reduced cwnd in tcp_vegas_ssthresh() would
> under-evaluate the ssthresh.
>
> Signed-off-by: Hoang Tran <hoang.tran@xxxxxxxxxxxx>
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx>
> ---
> net/ipv4/tcp_vegas.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

76174004a0f19785 did not show up until 4.3-rc1, so this isn't needed for
3.18-stable, so I'm going to drop it from that set of patches.

thanks,

greg k-h

>
> diff --git a/net/ipv4/tcp_vegas.c b/net/ipv4/tcp_vegas.c
> index a6afde666ab1..28b2728a06c4 100644
> --- a/net/ipv4/tcp_vegas.c
> +++ b/net/ipv4/tcp_vegas.c
> @@ -158,7 +158,7 @@ EXPORT_SYMBOL_GPL(tcp_vegas_cwnd_event);
>
> static inline u32 tcp_vegas_ssthresh(struct tcp_sock *tp)
> {
> - return min(tp->snd_ssthresh, tp->snd_cwnd-1);
> + return min(tp->snd_ssthresh, tp->snd_cwnd);
> }
>
> static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, u32 acked)
> --
> 2.11.0