]> err.no Git - linux-2.6/commitdiff
[TCP]: Do not call tcp_tso_acked() if no work to do.
authorDavid S. Miller <davem@davemloft.net>
Tue, 5 Jul 2005 22:20:55 +0000 (15:20 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Jul 2005 22:20:55 +0000 (15:20 -0700)
In tcp_clean_rtx_queue(), if the TSO packet is not even partially
acked, do not waste time calling tcp_tso_acked().

Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c

index 1dba7fd438daf0369b88a8f74ad498cf7052bc42..b948e4eb39b78096f21e7717b6bf8e54758f150e 100644 (file)
@@ -2038,7 +2038,8 @@ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p, s32 *seq_usrtt
                 * the other end.
                 */
                if (after(scb->end_seq, tp->snd_una)) {
-                       if (tcp_skb_pcount(skb) > 1)
+                       if (tcp_skb_pcount(skb) > 1 &&
+                           after(tp->snd_una, scb->seq))
                                acked |= tcp_tso_acked(sk, skb,
                                                       now, &seq_rtt);
                        break;