summaryrefslogtreecommitdiff
path: root/net/ipv4/tcp_illinois.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-08-06 21:25:10 -0700
committerDavid S. Miller <davem@davemloft.net>2017-08-06 21:25:10 -0700
commiteaf6dc03388d5ea7b4151cf55cfc3370c2f9884c (patch)
tree5d8917911405f39aa7f8ba34d26ce9ce4e60afee /net/ipv4/tcp_illinois.c
parent10377ba7673d19e28d92846955d51f49acd25c35 (diff)
parentf1722a1be19dc38e0a4b282d4e6e6ec5e1b11a67 (diff)
Merge branch 'tcp-cwnd-undo-refactor'
Yuchung Cheng says: ==================== tcp cwnd undo refactor This patch series consolidate similar cwnd undo functions implemented by various congestion control by using existing tcp socket state variable. The first patch fixes a corner case in of cwnd undo in Reno and HTCP. Since the bug has existed for many years and is very minor, we consider this patch set more suitable for net-next as the major change is the refactor itself. - v1->v2 Fix trivial compile errors ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_illinois.c')
-rw-r--r--net/ipv4/tcp_illinois.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/net/ipv4/tcp_illinois.c b/net/ipv4/tcp_illinois.c
index 60352ff4f5a8..7c843578f233 100644
--- a/net/ipv4/tcp_illinois.c
+++ b/net/ipv4/tcp_illinois.c
@@ -48,7 +48,6 @@ struct illinois {
u32 end_seq; /* right edge of current RTT */
u32 alpha; /* Additive increase */
u32 beta; /* Muliplicative decrease */
- u32 loss_cwnd; /* cwnd on loss */
u16 acked; /* # packets acked by current ACK */
u8 rtt_above; /* average rtt has gone above threshold */
u8 rtt_low; /* # of rtts measurements below threshold */
@@ -297,18 +296,10 @@ static u32 tcp_illinois_ssthresh(struct sock *sk)
struct tcp_sock *tp = tcp_sk(sk);
struct illinois *ca = inet_csk_ca(sk);
- ca->loss_cwnd = tp->snd_cwnd;
/* Multiplicative decrease */
return max(tp->snd_cwnd - ((tp->snd_cwnd * ca->beta) >> BETA_SHIFT), 2U);
}
-static u32 tcp_illinois_cwnd_undo(struct sock *sk)
-{
- const struct illinois *ca = inet_csk_ca(sk);
-
- return max(tcp_sk(sk)->snd_cwnd, ca->loss_cwnd);
-}
-
/* Extract info for Tcp socket info provided via netlink. */
static size_t tcp_illinois_info(struct sock *sk, u32 ext, int *attr,
union tcp_cc_info *info)
@@ -336,7 +327,7 @@ static size_t tcp_illinois_info(struct sock *sk, u32 ext, int *attr,
static struct tcp_congestion_ops tcp_illinois __read_mostly = {
.init = tcp_illinois_init,
.ssthresh = tcp_illinois_ssthresh,
- .undo_cwnd = tcp_illinois_cwnd_undo,
+ .undo_cwnd = tcp_reno_undo_cwnd,
.cong_avoid = tcp_illinois_cong_avoid,
.set_state = tcp_illinois_state,
.get_info = tcp_illinois_info,