From: Eric Dumazet
Date: Thu, 15 Sep 2016 08:12:33 -0700
> From: Eric Dumazet
>
> If a TCP socket gets a large write queue, an overflow can happen
> in a test in __tcp_retransmit_skb() preventing all retransmits.
>
> The flow then stalls and resets after timeouts.
>
> Tested:
>
> sysctl -w n
On Thu, 2016-09-15 at 15:52 +, David Laight wrote:
> From: Eric Dumazet
> > Sent: 15 September 2016 16:13
> > If a TCP socket gets a large write queue, an overflow can happen
> > in a test in __tcp_retransmit_skb() preventing all retransmits.
> ...
> > if (atomic_read(&sk->sk_wmem_alloc) >
From: Eric Dumazet
> Sent: 15 September 2016 16:13
> If a TCP socket gets a large write queue, an overflow can happen
> in a test in __tcp_retransmit_skb() preventing all retransmits.
...
> if (atomic_read(&sk->sk_wmem_alloc) >
> - min(sk->sk_wmem_queued + (sk->sk_wmem_queued >> 2), s