aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dst.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/dst.c')
-rw-r--r--net/core/dst.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/core/dst.c b/net/core/dst.c
index 836ec6606925..1a53fb39b7e0 100644
--- a/net/core/dst.c
+++ b/net/core/dst.c
@@ -99,7 +99,14 @@ static void dst_run_gc(unsigned long dummy)
99 printk("dst_total: %d/%d %ld\n", 99 printk("dst_total: %d/%d %ld\n",
100 atomic_read(&dst_total), delayed, dst_gc_timer_expires); 100 atomic_read(&dst_total), delayed, dst_gc_timer_expires);
101#endif 101#endif
102 mod_timer(&dst_gc_timer, jiffies + dst_gc_timer_expires); 102 /* if the next desired timer is more than 4 seconds in the future
103 * then round the timer to whole seconds
104 */
105 if (dst_gc_timer_expires > 4*HZ)
106 mod_timer(&dst_gc_timer,
107 round_jiffies(jiffies + dst_gc_timer_expires));
108 else
109 mod_timer(&dst_gc_timer, jiffies + dst_gc_timer_expires);
103 110
104out: 111out:
105 spin_unlock(&dst_lock); 112 spin_unlock(&dst_lock);