Andrew Morton <akpm@xxxxxxxx> wrote:
>
> A better approach wold be to rework ip_rt_gc_min_interval so that its
> userspace-visible units are milliseconds.
<actually looks at the code>
We are doing, via gc_min_interval_ms.
Funny thing is, sysctl table is treating ip_rt_gc_min_interval as a long,
and it isn't. I wonder if the current code works correctly on 64-bit
big-endian.
Seems to me a simpler fix would be to make it a long?
diff -puN net/ipv4/route.c~a net/ipv4/route.c
--- 25/net/ipv4/route.c~a 2005-02-18 02:58:19.000000000 -0800
+++ 25-akpm/net/ipv4/route.c 2005-02-18 03:01:30.000000000 -0800
@@ -113,7 +113,7 @@ static int ip_rt_max_delay = 10 * HZ;
static int ip_rt_max_size;
static int ip_rt_gc_timeout = RT_GC_TIMEOUT;
static int ip_rt_gc_interval = 60 * HZ;
-static int ip_rt_gc_min_interval = HZ / 2;
+static long ip_rt_gc_min_interval = HZ / 2;
static int ip_rt_redirect_number = 9;
static int ip_rt_redirect_load = HZ / 50;
static int ip_rt_redirect_silence = ((HZ / 50) << (9 + 1));
@@ -2536,9 +2536,9 @@ ctl_table ipv4_route_table[] = {
.ctl_name = NET_IPV4_ROUTE_GC_MIN_INTERVAL,
.procname = "gc_min_interval",
.data = &ip_rt_gc_min_interval,
- .maxlen = sizeof(int),
+ .maxlen = sizeof(long),
.mode = 0644,
- .proc_handler = &proc_dointvec_jiffies,
+ .proc_handler = &proc_doulongvec_minmax,
.strategy = &sysctl_jiffies,
},
{
_
|