The neighbor GC timer runs once a second, but it doesn't need to wake up the machine.
Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- a/net/core/neighbour.c 2007-12-18 07:46:07.000000000 -0800 +++ b/net/core/neighbour.c 2007-12-18 07:47:36.000000000 -0800 @@ -270,7 +270,7 @@ static struct neighbour *neigh_alloc(str n->nud_state = NUD_NONE; n->output = neigh_blackhole; n->parms = neigh_parms_clone(&tbl->parms); - init_timer(&n->timer); + init_timer_deferrable(&n->timer); n->timer.function = neigh_timer_handler; n->timer.data = (unsigned long)n; @@ -740,7 +740,7 @@ static void neigh_timer_handler(unsigned state = neigh->nud_state; now = jiffies; - next = now + HZ; + next = round_jiffies(now + HZ); if (!(state & NUD_IN_TIMER)) { #ifndef CONFIG_SMP @@ -1372,7 +1372,7 @@ void neigh_table_init_no_netlink(struct get_random_bytes(&tbl->hash_rnd, sizeof(tbl->hash_rnd)); rwlock_init(&tbl->lock); - init_timer(&tbl->gc_timer); + init_timer_deferrable(&tbl->gc_timer); tbl->gc_timer.data = (unsigned long)tbl; tbl->gc_timer.function = neigh_periodic_timer; tbl->gc_timer.expires = now + 1; -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html