From: Eric Dumazet <eduma...@google.com> Date: Thu, 6 Dec 2018 09:58:24 -0800
> tcp_tso_should_defer() can return true in three different cases : > > 1) We are cwnd-limited > 2) We are rwnd-limited > 3) We are application limited. > > Neal pointed out that my recent fix went too far, since > it assumed that if we were not in 1) case, we must be rwnd-limited > > Fix this by properly populating the is_cwnd_limited and > is_rwnd_limited booleans. > > After this change, we can finally move the silly check for FIN > flag only for the application-limited case. > > The same move for EOR bit will be handled in net-next, > since commit 1c09f7d073b1 ("tcp: do not try to defer skbs > with eor mark (MSG_EOR)") is scheduled for linux-4.21 > > Tested by running 200 concurrent netperf -t TCP_RR -- -r 60000,100 > and checking none of them was rwnd_limited in the chrono_stat > output from "ss -ti" command. > > Fixes: 41727549de3e ("tcp: Do not underestimate rwnd_limited") > Signed-off-by: Eric Dumazet <eduma...@google.com> > Suggested-by: Neal Cardwell <ncardw...@google.com> > Reviewed-by: Neal Cardwell <ncardw...@google.com> > Acked-by: Soheil Hassas Yeganeh <soh...@google.com> > Reviewed-by: Yuchung Cheng <ych...@google.com> Applied.