summaryrefslogtreecommitdiffstats
path: root/net/ipv4/route.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-04-05 11:23:36 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-04-05 11:23:36 +0000
commit4318fbda2a7ee51caafdc4eb1f8028a3f0605142 (patch)
treecddb50a81d7d1a628cc400519162080c6d87868e /net/ipv4/route.c
parent36ea5120664550fae6d31f1c6f695e4f8975cb06 (diff)
o Merge with Linux 2.1.91.
o First round of bugfixes for the SC/MC CPUs. o FPU context switch fixes. o Lazy context switches. o Faster syscalls. o Removed dead code. o Shitloads of other things I forgot ...
Diffstat (limited to 'net/ipv4/route.c')
-rw-r--r--net/ipv4/route.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 8ce4a95f4..464090776 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -104,6 +104,7 @@ int ip_rt_redirect_load = HZ/50;
int ip_rt_redirect_silence = ((HZ/50) << (9+1));
int ip_rt_error_cost = HZ;
int ip_rt_error_burst = 5*HZ;
+int ip_rt_gc_elasticity = 8;
static unsigned long rt_deadline = 0;
@@ -398,10 +399,10 @@ static int rt_garbage_collect(void)
last_gc = now;
if (atomic_read(&ipv4_dst_ops.entries) < ipv4_dst_ops.gc_thresh)
- expire = ip_rt_gc_timeout;
+ expire = ip_rt_gc_timeout>>1;
out:
- expire >>= 1;
+ expire -= expire>>ip_rt_gc_elasticity;
end_bh_atomic();
return (atomic_read(&ipv4_dst_ops.entries) > ip_rt_max_size);
}
@@ -1740,6 +1741,9 @@ ctl_table ipv4_route_table[] = {
{NET_IPV4_ROUTE_ERROR_BURST, "error_burst",
&ip_rt_error_burst, sizeof(int), 0644, NULL,
&proc_dointvec},
+ {NET_IPV4_ROUTE_GC_ELASTICITY, "gc_elasticity",
+ &ip_rt_gc_elasticity, sizeof(int), 0644, NULL,
+ &proc_dointvec},
{0}
};
#endif