diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2008-07-22 14:34:09 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-22 14:34:09 -0700 |
commit | c8a4522245e9931a53a98d5160bb4c00d3f73921 (patch) | |
tree | 53dfe5ef6ae5706a8ebaa90ae2ae4c84b3dc04fa | |
parent | 417f28bb340725544c36b35465444d2fd57232b8 (diff) | |
download | op-kernel-dev-c8a4522245e9931a53a98d5160bb4c00d3f73921.zip op-kernel-dev-c8a4522245e9931a53a98d5160bb4c00d3f73921.tar.gz |
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.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index e092297..03e23d0 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); |