diff options
author | Eric Dumazet <edumazet@google.com> | 2019-04-11 15:55:23 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-04-12 07:31:03 +0300 |
commit | e3058450965972e67cc0e5492c08c4cdadafc134 (patch) | |
tree | 896df9274d78b1d868faef05ff1d6089c5b3bf85 /net/rds/af_rds.c | |
parent | a5f622984a623df9a84cf43f6b098d8dd76fbe05 (diff) | |
download | linux-e3058450965972e67cc0e5492c08c4cdadafc134.tar.xz |
dctcp: more accurate tracking of packets delivery
After commit e21db6f69a95 ("tcp: track total bytes delivered with ECN CE marks")
core TCP stack does a very good job tracking ECN signals.
The "sender's best estimate of CE information" Yuchung mentioned in his
patch is indeed the best we can do.
DCTCP can use tp->delivered_ce and tp->delivered to not duplicate the logic,
and use the existing best estimate.
This solves some problems, since current DCTCP logic does not deal with losses
and/or GRO or ack aggregation very well.
This also removes a dubious use of inet_csk(sk)->icsk_ack.rcv_mss
(this should have been tp->mss_cache), and a 64 bit divide.
Finally, we can see that the DCTCP logic, calling dctcp_update_alpha() for
every ACK could be done differently, calling it only once per RTT.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Soheil Hassas Yeganeh <soheil@google.com>
Cc: Florian Westphal <fw@strlen.de>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Lawrence Brakmo <brakmo@fb.com>
Cc: Abdul Kabbani <akabbani@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/af_rds.c')
0 files changed, 0 insertions, 0 deletions