diff options
author | Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> | 2008-09-21 00:21:16 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-21 00:21:16 -0400 |
commit | 184d68b2b0b836587f92887b14baea41033ffeef (patch) | |
tree | 8947dbfbff583e7c81d5f206ce8cf5a2abc38b6a /net | |
parent | f09142eddb75005e41b0af3e5214979d8b534b1d (diff) |
tcp: No need to clear retransmit_skb_hint when SACKing
Because lost counter no longer requires tuning, this is
trivial to remove (the tuning wouldn't have been too
hard either) because no "new" retransmittable skb appeared
below retransmit_skb_hint when SACKing for sure.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/tcp_input.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 28e93f1e4217..d017aed6edd7 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -1298,9 +1298,6 @@ static int tcp_sacktag_one(struct sk_buff *skb, struct sock *sk, | |||
1298 | ~(TCPCB_LOST|TCPCB_SACKED_RETRANS); | 1298 | ~(TCPCB_LOST|TCPCB_SACKED_RETRANS); |
1299 | tp->lost_out -= tcp_skb_pcount(skb); | 1299 | tp->lost_out -= tcp_skb_pcount(skb); |
1300 | tp->retrans_out -= tcp_skb_pcount(skb); | 1300 | tp->retrans_out -= tcp_skb_pcount(skb); |
1301 | |||
1302 | /* clear lost hint */ | ||
1303 | tp->retransmit_skb_hint = NULL; | ||
1304 | } | 1301 | } |
1305 | } else { | 1302 | } else { |
1306 | if (!(sacked & TCPCB_RETRANS)) { | 1303 | if (!(sacked & TCPCB_RETRANS)) { |
@@ -1319,9 +1316,6 @@ static int tcp_sacktag_one(struct sk_buff *skb, struct sock *sk, | |||
1319 | if (sacked & TCPCB_LOST) { | 1316 | if (sacked & TCPCB_LOST) { |
1320 | TCP_SKB_CB(skb)->sacked &= ~TCPCB_LOST; | 1317 | TCP_SKB_CB(skb)->sacked &= ~TCPCB_LOST; |
1321 | tp->lost_out -= tcp_skb_pcount(skb); | 1318 | tp->lost_out -= tcp_skb_pcount(skb); |
1322 | |||
1323 | /* clear lost hint */ | ||
1324 | tp->retransmit_skb_hint = NULL; | ||
1325 | } | 1319 | } |
1326 | } | 1320 | } |
1327 | 1321 | ||
@@ -1351,7 +1345,6 @@ static int tcp_sacktag_one(struct sk_buff *skb, struct sock *sk, | |||
1351 | if (dup_sack && (TCP_SKB_CB(skb)->sacked & TCPCB_SACKED_RETRANS)) { | 1345 | if (dup_sack && (TCP_SKB_CB(skb)->sacked & TCPCB_SACKED_RETRANS)) { |
1352 | TCP_SKB_CB(skb)->sacked &= ~TCPCB_SACKED_RETRANS; | 1346 | TCP_SKB_CB(skb)->sacked &= ~TCPCB_SACKED_RETRANS; |
1353 | tp->retrans_out -= tcp_skb_pcount(skb); | 1347 | tp->retrans_out -= tcp_skb_pcount(skb); |
1354 | tp->retransmit_skb_hint = NULL; | ||
1355 | } | 1348 | } |
1356 | 1349 | ||
1357 | return flag; | 1350 | return flag; |