diff options
author | Neal Cardwell <ncardwell@google.com> | 2017-08-16 17:53:36 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-08-18 16:07:43 -0700 |
commit | cdbeb633ca71a02b7b63bfeb94994bf4e1a0b894 (patch) | |
tree | 96d187e3d5f38c8fcb9045fb1ff323ad8164b021 /drivers/pci | |
parent | bc3aae2bbac46dd894c89db5d5e98f7f0ef9e205 (diff) | |
download | op-kernel-dev-cdbeb633ca71a02b7b63bfeb94994bf4e1a0b894.zip op-kernel-dev-cdbeb633ca71a02b7b63bfeb94994bf4e1a0b894.tar.gz |
tcp: when rearming RTO, if RTO time is in past then fire RTO ASAP
In some situations tcp_send_loss_probe() can realize that it's unable
to send a loss probe (TLP), and falls back to calling tcp_rearm_rto()
to schedule an RTO timer. In such cases, sometimes tcp_rearm_rto()
realizes that the RTO was eligible to fire immediately or at some
point in the past (delta_us <= 0). Previously in such cases
tcp_rearm_rto() was scheduling such "overdue" RTOs to happen at now +
icsk_rto, which caused needless delays of hundreds of milliseconds
(and non-linear behavior that made reproducible testing
difficult). This commit changes the logic to schedule "overdue" RTOs
ASAP, rather than at now + icsk_rto.
Fixes: 6ba8a3b19e76 ("tcp: Tail loss probe (TLP)")
Suggested-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/pci')
0 files changed, 0 insertions, 0 deletions