diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-09-28 22:25:29 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-09-28 22:25:29 +0000 |
commit | 0ae8dceaebe3659ee0c3352c08125f403e77ebca (patch) | |
tree | 5085c389f09da78182b899d19fe1068b619a69dd /net/ipv4/tcp_timer.c | |
parent | 273767781288c35c9d679e908672b9996cda4c34 (diff) |
Merge with 2.3.10.
Diffstat (limited to 'net/ipv4/tcp_timer.c')
-rw-r--r-- | net/ipv4/tcp_timer.c | 43 |
1 files changed, 2 insertions, 41 deletions
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index d23eef143..05a92f7f7 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -5,7 +5,7 @@ * * Implementation of the Transmission Control Protocol(TCP). * - * Version: $Id: tcp_timer.c,v 1.64 1999/05/27 00:37:31 davem Exp $ + * Version: $Id: tcp_timer.c,v 1.65 1999/07/02 11:26:35 davem Exp $ * * Authors: Ross Biro, <bir7@leland.Stanford.Edu> * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> @@ -31,7 +31,6 @@ int sysctl_tcp_retries2 = TCP_RETR2; static void tcp_sltimer_handler(unsigned long); static void tcp_syn_recv_timer(unsigned long); static void tcp_keepalive(unsigned long data); -static void tcp_bucketgc(unsigned long); static void tcp_twkill(unsigned long); struct timer_list tcp_slow_timer = { @@ -44,8 +43,7 @@ struct timer_list tcp_slow_timer = { struct tcp_sl_timer tcp_slt_array[TCP_SLT_MAX] = { {ATOMIC_INIT(0), TCP_SYNACK_PERIOD, 0, tcp_syn_recv_timer},/* SYNACK */ {ATOMIC_INIT(0), TCP_KEEPALIVE_PERIOD, 0, tcp_keepalive}, /* KEEPALIVE */ - {ATOMIC_INIT(0), TCP_TWKILL_PERIOD, 0, tcp_twkill}, /* TWKILL */ - {ATOMIC_INIT(0), TCP_BUCKETGC_PERIOD, 0, tcp_bucketgc} /* BUCKETGC */ + {ATOMIC_INIT(0), TCP_TWKILL_PERIOD, 0, tcp_twkill} /* TWKILL */ }; const char timer_bug_msg[] = KERN_DEBUG "tcpbug: unknown timer value\n"; @@ -252,43 +250,6 @@ static __inline__ int tcp_keepopen_proc(struct sock *sk) return res; } -/* Garbage collect TCP bind buckets. */ -static void tcp_bucketgc(unsigned long data) -{ - int i, reaped = 0;; - - SOCKHASH_LOCK_WRITE_BH(); - for(i = 0; i < tcp_bhash_size; i++) { - struct tcp_bind_bucket *tb = tcp_bhash[i]; - - while(tb) { - struct tcp_bind_bucket *next = tb->next; - - if((tb->owners == NULL) && - !(tb->flags & TCPB_FLAG_LOCKED)) { - reaped++; - - /* Unlink bucket. */ - if(tb->next) - tb->next->pprev = tb->pprev; - *tb->pprev = tb->next; - - /* Finally, free it up. */ - kmem_cache_free(tcp_bucket_cachep, tb); - } - tb = next; - } - } - SOCKHASH_UNLOCK_WRITE_BH(); - - if(reaped != 0) { - struct tcp_sl_timer *slt = (struct tcp_sl_timer *)data; - - /* Eat timer references. */ - atomic_sub(reaped, &slt->count); - } -} - /* Kill off TIME_WAIT sockets once their lifetime has expired. */ int tcp_tw_death_row_slot = 0; static struct tcp_tw_bucket *tcp_tw_death_row[TCP_TWKILL_SLOTS] = |