Subject: [PATCH 2/5] ipv6: use round_jiffies

From: Stephen Hemminger <[email-masked]>
Date: Tue, 22 Jul 2008 14:29:29 -0700

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 <[email-masked]>

--- a/net/ipv6/ip6_fib.c	2008-07-21 12:06:44.000000000 -0700
+++ b/net/ipv6/ip6_fib.c	2008-07-21 12:07:41.000000000 -0700
@@ -1462,8 +1462,9 @@ void fib6_run_gc(unsigned long expires, 
 	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);

--