diff options
author | David S. Miller <davem@davemloft.net> | 2016-02-07 14:09:59 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-07 14:09:59 -0500 |
commit | ffeb6437f018f072a330ad5911036fd020b35ac3 (patch) | |
tree | a82946530d5c82a944d0492e5c65168bb5b24d6b /include | |
parent | 3575dbf2cbbc8e598f17ec441aed526dbea0e1bd (diff) | |
parent | d452e6caf8367cc70cf940c24a6a6cc2d521d3c1 (diff) | |
download | linux-ffeb6437f018f072a330ad5911036fd020b35ac3.tar.bz2 |
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>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/tcp.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index b386361ba3e8..d909feeeaea2 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h @@ -256,6 +256,7 @@ struct tcp_sock { u32 prr_delivered; /* Number of newly delivered packets to * receiver in Recovery. */ u32 prr_out; /* Total number of pkts sent during Recovery. */ + u32 delivered; /* Total data packets delivered incl. rexmits */ u32 rcv_wnd; /* Current receiver window */ u32 write_seq; /* Tail(+1) of data held in tcp send buffer */ |