On Fri, Aug 4, 2017 at 3:33 AM, maowenan <maowe...@huawei.com> wrote: > [Mao Wenan]Follow previous mail, in lower version such as 3.10, I found > there are many timer type, e.g:ICSK_TIME_EARLY_RETRANS, RTO,PTO > are used. I'm not sure there exist some unknown problem if we don't check > isck_pending here and below if branch? And could you please post one lower > version patch such as 3.10? Thanks a lot. > > #define ICSK_TIME_RETRANS 1 /* Retransmit timer */ > #define ICSK_TIME_DACK 2 /* Delayed ack timer */ > #define ICSK_TIME_PROBE0 3 /* Zero window probe timer */ > #define ICSK_TIME_EARLY_RETRANS 4 /* Early retransmit timer */ > #define ICSK_TIME_LOSS_PROBE 5 /* Tail loss probe timer */
I think you'll find that it you audit how these patches interact with those other timer types you'll find that the behavior either matches the existing code, or is improved. We ran these patches through our packetdrill test suite and found that was the case for all our existing tests. But please let us know if you find a specific scenario where that is not the case. I have attached patches for this fix rebased on to v3.10.107, the latest stable release for 3.10. That's pretty far back in history, so there were substantial conflict resolutions and adjustments required. :-) Hope that helps. thanks, neal
0001-tcp-introduce-tcp_rto_delta_us-helper-for-xmit-timer.patch
Description: Binary data
0002-tcp-enable-xmit-timer-fix-by-having-TLP-use-time-whe.patch
Description: Binary data
0003-tcp-fix-xmit-timer-to-only-be-reset-if-data-ACKed-SA.patch
Description: Binary data