diff options
author | 2007-05-31 01:21:39 -0700 | |
---|---|---|
committer | 2007-05-31 01:23:39 -0700 | |
commit | 9a834b87c5544c347fd788cd9d4eb276402ab54a (patch) | |
tree | e49bf3bc1e406aaa662b0c1dc967c72030efc283 /net | |
parent | [BRIDGE]: Reduce frequency of forwarding cleanup timer in bridge. (diff) | |
download | linux-9a834b87c5544c347fd788cd9d4eb276402ab54a.tar.gz linux-9a834b87c5544c347fd788cd9d4eb276402ab54a.tar.bz2 linux-9a834b87c5544c347fd788cd9d4eb276402ab54a.zip |
[BRIDGE]: Round off STP perodic timers.
Peroidic STP timers don't have to be exact. The hold timer runs at
1HZ, and the hello timer normally runs at 2HZ; save power by aligning
it them to next second.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/bridge/br_stp.c | 3 | ||||
-rw-r--r-- | net/bridge/br_stp_timer.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c index 0e035d6162cc..e38034aa56f5 100644 --- a/net/bridge/br_stp.c +++ b/net/bridge/br_stp.c @@ -178,7 +178,8 @@ void br_transmit_config(struct net_bridge_port *p) br_send_config_bpdu(p, &bpdu); p->topology_change_ack = 0; p->config_pending = 0; - mod_timer(&p->hold_timer, jiffies + BR_HOLD_TIME); + mod_timer(&p->hold_timer, + round_jiffies(jiffies + BR_HOLD_TIME)); } } diff --git a/net/bridge/br_stp_timer.c b/net/bridge/br_stp_timer.c index 24e0ca4a3131..77f5255e6915 100644 --- a/net/bridge/br_stp_timer.c +++ b/net/bridge/br_stp_timer.c @@ -42,7 +42,7 @@ static void br_hello_timer_expired(unsigned long arg) if (br->dev->flags & IFF_UP) { br_config_bpdu_generation(br); - mod_timer(&br->hello_timer, jiffies + br->hello_time); + mod_timer(&br->hello_timer, round_jiffies(jiffies + br->hello_time)); } spin_unlock(&br->lock); } |