Hi Neal, I just tried out your fix for enabling TLPs in the CWR state (while leaving tcp_tso_should_defer() unchanged), but I'm still seeing the host enter long timeouts. Feel free to let me know if there is something else you'd like me to try.
Best, -Steve On Tue, Nov 21, 2017 at 8:52 AM, Eric Dumazet <eduma...@google.com> wrote: > On Tue, Nov 21, 2017 at 8:20 AM, Neal Cardwell <ncardw...@google.com> wrote: >> On Tue, Nov 21, 2017 at 10:51 AM, Yuchung Cheng <ych...@google.com> wrote: >>> On Tue, Nov 21, 2017 at 7:01 AM, Neal Cardwell <ncardw...@google.com> wrote: >>>> >>>> The original motivation for only allowing TLP in the CA_Open state was >>>> to be conservative and avoid having the TLP impose extra load on the >>>> bottleneck when it may be congested. Plus if there are any SACKed >>>> packets in the SACK scoreboard then there are other existing >>>> mechanisms to do speedy loss recovery. >>> Neal I like your idea of covering more states in TLP. but shouldn't we >>> also fix the tso_deferral_logic to work better w/ PRR in CWR state, b/c >>> it's a general transmission issue. >> >> Yes, I agree it's also worthwhile to see if we can make PRR and TSO >> deferral play well together. Sorry, I should have been more clear >> about that. > > Yes, but tso auto defer is an heuristic, and since we do not have a > timer to 'send the partial packet' > after we understand the ACK that we were waiting for does not arrive in time, > we know that the heuristic is not perfect. > > Adding a timer (and its overhead) for maybe a fraction of cases might > be overkill. > > 'Fixing' TSO autodefer has been on our plates for ever, we played some > games that proved to be too expensive. > > Although I have not played re-using the new hr timer we added for TCP pacing.