]> 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)
commit2b6faac7afcaa1feb59306218ce9490652657f38
treea82946530d5c82a944d0492e5c65168bb5b24d6b
parent1e2550fbc9ab00dde60c7ca188f33f89fd252ad3
parent87b1c2fd692d6f65fcfb6cdbb8eda1737de6b5bb
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>