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>
This commit is contained in:
Stephen Hemminger 2008-07-22 14:34:09 -07:00 committed by David S. Miller
parent 417f28bb34
commit c8a4522245

View File

@ -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);