On Wed, Dec 5, 2018 at 5:24 PM Eric Dumazet <eduma...@google.com> wrote: > > If available rwnd is too small, tcp_tso_should_defer() > can decide it is worth waiting before splitting a TSO packet. > > This really means we are rwnd limited. > > Fixes: 5615f88614a4 ("tcp: instrument how long TCP is limited by receive > window") > Signed-off-by: Eric Dumazet <eduma...@google.com>
Acked-by: Soheil Hassas Yeganeh <soh...@google.com> Excellent catch! Thank you for the fix, Eric! > --- > net/ipv4/tcp_output.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c > index > 68b5326f73212ffe7111dd0f91e0a1246fb0ae25..3186902347584090256467d8679320666aa0257e > 100644 > --- a/net/ipv4/tcp_output.c > +++ b/net/ipv4/tcp_output.c > @@ -2356,8 +2356,11 @@ static bool tcp_write_xmit(struct sock *sk, unsigned > int mss_now, int nonagle, > } else { > if (!push_one && > tcp_tso_should_defer(sk, skb, &is_cwnd_limited, > - max_segs)) > + max_segs)) { > + if (!is_cwnd_limited) > + is_rwnd_limited = true; > break; > + } > } > > limit = mss_now; > -- > 2.20.0.rc2.403.gdbc3b29805-goog >