Re: [PATCH net-next 0/6] tcp: congestion control refactoring

2016-02-07 Thread David Miller
From: Yuchung Cheng 
Date: Tue,  2 Feb 2016 10:33:03 -0800

> 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.

This series looks really nice, applied, thanks!


[PATCH net-next 0/6] tcp: congestion control refactoring

2016-02-02 Thread Yuchung Cheng
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.

Yuchung Cheng (6):
  tcp: retransmit after recovery processing and congestion control
  tcp: move cwnd reduction after recovery state procesing
  tcp: new delivery accounting
  tcp: refactor pkts acked accounting
  tcp: make congestion control more robust against reordering
  tcp: tcp_cong_control helper

 include/linux/tcp.h  |   1 +
 net/ipv4/tcp_input.c | 149 +--
 2 files changed, 98 insertions(+), 52 deletions(-)

-- 
2.7.0.rc3.207.g0ac5344