mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 21:57:43 +00:00
tcp: skip cwnd moderation in TCP_CA_Open in tcp_try_to_open
The problem: Senders were overriding cwnd values picked during an undo by calling tcp_moderate_cwnd() in tcp_try_to_open(). The fix: Don't moderate cwnd in tcp_try_to_open() if we're in TCP_CA_Open, since doing so is generally unnecessary and specifically would override a DSACK-based undo of a cwnd reduction made in fast recovery. Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f698204bd0
commit
8cd6d6162d
1 changed files with 2 additions and 1 deletions
|
@ -2881,7 +2881,8 @@ static void tcp_try_to_open(struct sock *sk, int flag)
|
|||
|
||||
if (inet_csk(sk)->icsk_ca_state != TCP_CA_CWR) {
|
||||
tcp_try_keep_open(sk);
|
||||
tcp_moderate_cwnd(tp);
|
||||
if (inet_csk(sk)->icsk_ca_state != TCP_CA_Open)
|
||||
tcp_moderate_cwnd(tp);
|
||||
} else {
|
||||
tcp_cwnd_down(sk, flag);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue