]> 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)
commit1ffc032a29677960c164ae143aa25dd76125bef8
treea95677bca04ad68e0c1a60fa343d59d24934e669
parent4424865a4d002fd6a90a8e0fab739c25c8128072
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