summaryrefslogtreecommitdiff
path: root/net/ipv4/inetpeer.c
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2005-08-24 06:12:23 +0400
committerLen Brown <len.brown@intel.com>2005-08-24 06:12:23 +0400
commit84ffa747520edd4556b136bdfc9df9eb1673ce12 (patch)
tree1cfe20bd31fce1b5b3024384fcb324c3338d1d32 /net/ipv4/inetpeer.c
parent702c7e7626deeabb057b6f529167b65ec2eefbdb (diff)
parent81065e2f415af6c028eac13f481fb9e60a0b487b (diff)
downloadlinux-84ffa747520edd4556b136bdfc9df9eb1673ce12.tar.xz
Merge from-linus to-akpm
Diffstat (limited to 'net/ipv4/inetpeer.c')
-rw-r--r--net/ipv4/inetpeer.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c
index 95473953c406..ab18a853d7ce 100644
--- a/net/ipv4/inetpeer.c
+++ b/net/ipv4/inetpeer.c
@@ -450,10 +450,13 @@ static void peer_check_expire(unsigned long dummy)
/* Trigger the timer after inet_peer_gc_mintime .. inet_peer_gc_maxtime
* interval depending on the total number of entries (more entries,
* less interval). */
- peer_periodic_timer.expires = jiffies
- + inet_peer_gc_maxtime
- - (inet_peer_gc_maxtime - inet_peer_gc_mintime) / HZ *
- peer_total / inet_peer_threshold * HZ;
+ if (peer_total >= inet_peer_threshold)
+ peer_periodic_timer.expires = jiffies + inet_peer_gc_mintime;
+ else
+ peer_periodic_timer.expires = jiffies
+ + inet_peer_gc_maxtime
+ - (inet_peer_gc_maxtime - inet_peer_gc_mintime) / HZ *
+ peer_total / inet_peer_threshold * HZ;
add_timer(&peer_periodic_timer);
}