]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: use sequence distance to detect reordering
authorYuchung Cheng <ycheng@google.com>
Wed, 8 Nov 2017 21:01:27 +0000 (13:01 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 11 Nov 2017 09:53:16 +0000 (18:53 +0900)
commitc96a02bf6e6a4faa3ac74947f22defff997ca05e
treea95677bca04ad68e0c1a60fa343d59d24934e669
parent29b61f5d3a2a21bfc0446e719af03ab8e62d5acd
tcp: use sequence distance to detect reordering

Replace the reordering distance measurement in packet unit with
sequence based approach. Previously it trackes the number of "packets"
toward the forward ACK (i.e.  highest sacked sequence)in a state
variable "fackets_out".

Precisely measuring reordering degree on packet distance has not much
benefit, as the degree constantly changes by factors like path, load,
and congestion window. It is also complicated and prone to arcane bugs.
This patch replaces with sequence-based approach that's much simpler.

Signed-off-by: Yuchung Cheng <ycheng@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Neal Cardwell <ncardwell@google.com>
Reviewed-by: Soheil Hassas Yeganeh <soheil@google.com>
Reviewed-by: Priyaranjan Jha <priyarjha@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/tcp.h
net/ipv4/tcp.c
net/ipv4/tcp_input.c
net/ipv4/tcp_minisocks.c
net/ipv4/tcp_output.c