[BRIDGE]: Round off STP perodic timers.
authorStephen Hemminger <shemminger@linux-foundation.org>
Thu, 31 May 2007 08:21:39 +0000 (01:21 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 31 May 2007 08:23:39 +0000 (01:23 -0700)
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>
net/bridge/br_stp.c
net/bridge/br_stp_timer.c

index 0e035d6162cc840e1e7a71592f79894e0cb5b316..e38034aa56f5a2f6d1476f38cf3e931a18513fe0 100644 (file)
@@ -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));
        }
 }
 
index 24e0ca4a3131948af3cf2d59c956ccf9f852fc96..77f5255e691569a48766cce3ce109a4aec17c0df 100644 (file)
@@ -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);
 }