summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2008-07-22 23:34:09 +0200
committerDavid S. Miller <davem@davemloft.net>2008-07-22 23:34:09 +0200
commitc8a4522245e9931a53a98d5160bb4c00d3f73921 (patch)
tree53dfe5ef6ae5706a8ebaa90ae2ae4c84b3dc04fa
parentnetns: dont alloc ipv6 fib timer list (diff)
downloadlinux-c8a4522245e9931a53a98d5160bb4c00d3f73921.tar.xz
linux-c8a4522245e9931a53a98d5160bb4c00d3f73921.zip
ipv6: use round_jiffies
This timer normally happens once a minute, there is no need to cause an early wakeup for it, so align it to next second boundary to safe power. It can't be deferred because then it could take too long on cleanup or DoS. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv6/ip6_fib.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index e0922975c410..03e23d058ec5 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -1462,8 +1462,9 @@ void fib6_run_gc(unsigned long expires, struct net *net)
fib6_clean_all(net, fib6_age, 0, NULL);
if (gc_args.more)
- mod_timer(&net->ipv6.ip6_fib_timer, jiffies +
- net->ipv6.sysctl.ip6_rt_gc_interval);
+ mod_timer(&net->ipv6.ip6_fib_timer,
+ round_jiffies(jiffies
+ + net->ipv6.sysctl.ip6_rt_gc_interval));
else
del_timer(&net->ipv6.ip6_fib_timer);
spin_unlock_bh(&fib6_gc_lock);