]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'tcp_cong_ctrl_refactoring'
authorDavid S. Miller <davem@davemloft.net>
Sun, 7 Feb 2016 19:09:59 +0000 (14:09 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sun, 7 Feb 2016 19:09:59 +0000 (14:09 -0500)
commitbe0bc478e36c9f641818e2794e3c99c9148a6446
treea82946530d5c82a944d0492e5c65168bb5b24d6b
parent4706a0883c1c8a85a5a6b75212e9c108da20dab7
parent330b51181acd9d332ed0edfa9ca45408aa422a2d
Merge branch 'tcp_cong_ctrl_refactoring'

Yuchung Cheng says:

====================
tcp: congestion control refactoring

This patch set refactors the sequence of congestion control,
loss recovery, and transmission logic in TCP ack processing.

The design goal is to decouple and sequence them in the following order:

  0. ACK accounting: free or tag sent packets [unchanged]

  1. loss recovery: identify lost/ecn packets and update congestion state

  2. congestion control: up/down cwnd and pacing rate based on (1)

  3. transmission: send new or retransmit old based on (1) and (2)

This refactoring makes the cwnd changes more clear because it's done
in one place. The packet accounting is also more robust especially
for connections that do not support SACK. Patch 1-4 and 6 are
refactoring and patch 5 improves TCP performance under reordering.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>