[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <499BE31B.5050808@trash.net>
Date: Wed, 18 Feb 2009 11:29:47 +0100
From: Patrick McHardy <kaber@...sh.net>
To: Stephen Hemminger <shemminger@...tta.com>
CC: David Miller <davem@...emloft.net>,
Rick Jones <rick.jones2@...com>,
Eric Dumazet <dada1@...mosbay.com>, netdev@...r.kernel.org,
netfilter-devel@...r.kernel.org, tglx@...utronix.de,
Martin Josefsson <gandalf@...g.westbo.se>
Subject: Re: [RFT 2/4] Add mod_timer_noact
Stephen Hemminger wrote:
> +/***
> + * mod_timer_noact - modify a timer's timeout
> + * @timer: the timer to be modified
> + *
> + * mod_timer_noact works like mod_timer except that it doesn't activate an
> + * inactive timer, instead it returns without updating timer->expires.
> + *
> + * The function returns whether it has modified a pending timer or not.
> + * (ie. mod_timer_noact() of an inactive timer returns 0, mod_timer_noact() of
> + * an active timer returns 1.)
> + */
> +int mod_timer_noact(struct timer_list *timer, unsigned long expires)
> +{
> + BUG_ON(!timer->function);
> +
> + /*
> + * This is a common optimization triggered by the
> + * networking code - if the timer is re-modified
> + * to be the same thing then just return:
> + */
> + if (timer->expires == expires && timer_pending(timer))
> + return 1;
This doesn't seem right, since it uses TIMER_NOACT below, there's
no point in checking for timer_pending() I think.
> +
> + return __mod_timer(timer, expires, TIMER_NOACT);
> +}
> +
> +EXPORT_SYMBOL(mod_timer_noact);
> +
--
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