lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <4768C6FF.2090909@cosmosbay.com> Date: Wed, 19 Dec 2007 08:23:43 +0100 From: Eric Dumazet <dada1@...mosbay.com> To: Stephen Hemminger <shemminger@...ux-foundation.org> CC: parag.warudkar@...il.com, David Miller <davem@...emloft.net>, netdev@...r.kernel.org, akpm@...ux-foundation.org Subject: Re: [PATCH 2/2] net: neighbor timer power saving Stephen Hemminger a écrit : > The neighbor GC timer runs once a second, but it doesn't need to wake > up the machine. > > Signed-off-by: Stephen Hemminger <shemminger@...tta.com> > > --- 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; I wonder if this deferrable timer thing is the right way to go. (like read_mostly thing if you want :) ) We are going to convert 99% timers to deferrable. Maybe the right move should be to have the reverse attribute, to mark a timer as non deferrable... Also, why use round_jiffies() on a deferrable timer ? That sounds unecessary ? -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists