diff options
author | Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> | 2007-10-11 17:36:13 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-10-11 17:36:13 -0700 |
commit | b08d6cb22c777c8c91c16d8e3b8aafc93c98cbd9 (patch) | |
tree | 139b1f2636c42698bd7b0f0ccd61f0e1b8a826ab /net/ipv4/tcp_output.c | |
parent | f785a8e28b9d103c7473655743b6ac1bc3cd3a58 (diff) | |
download | lwn-b08d6cb22c777c8c91c16d8e3b8aafc93c98cbd9.tar.gz lwn-b08d6cb22c777c8c91c16d8e3b8aafc93c98cbd9.zip |
[TCP]: Limit processing lost_retrans loop to work-to-do cases
This addition of lost_retrans_low to tcp_sock might be
unnecessary, it's not clear how often lost_retrans worker is
executed when there wasn't work to do.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 53296753b0bd..324b4207254a 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -1914,6 +1914,8 @@ int tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb) printk(KERN_DEBUG "retrans_out leaked.\n"); } #endif + if (!tp->retrans_out) + tp->lost_retrans_low = tp->snd_nxt; TCP_SKB_CB(skb)->sacked |= TCPCB_RETRANS; tp->retrans_out += tcp_skb_pcount(skb); |