Re: [PATCH] timers: consider slack value in mod_timer()

From: Yong Zhang
Date: Tue May 24 2011 - 03:54:21 EST


On Sat, May 21, 2011 at 6:58 PM, Sebastian Andrzej Siewior
<sebastian@xxxxxxxxxxxxx> wrote:
> There is an optimization which does not update the timer if the timer
> was pending and the expiration time was unchanged.
> Since commit 3bbb9ec9 ("timers: Introduce the concept of timer slack for
> legacy timers") this optimization is no longer applied for timers where
> the expiration time got extended due to the slack value. So here it adds
> the check again after the expiration time might have been updated.
>
> Signed-off-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx>
> ---
> Âkernel/timer.c | Â Â2 ++
> Â1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/kernel/timer.c b/kernel/timer.c
> index fd61986..bf09726 100644
> --- a/kernel/timer.c
> +++ b/kernel/timer.c
> @@ -804,6 +804,8 @@ int mod_timer(struct timer_list *timer, unsigned long expires)
> Â Â Â Â Â Â Â Âreturn 1;
>
> Â Â Â Âexpires = apply_slack(timer, expires);

So, why not move above line up, then we can use the recalculated
expires?

Thanks,
Yong

> + Â Â Â if (timer_pending(timer) && timer->expires == expires)
> + Â Â Â Â Â Â Â return 1;
>
> Â Â Â Âreturn __mod_timer(timer, expires, false, TIMER_NOT_PINNED);
> Â}
> --
> 1.7.4.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html
> Please read the FAQ at Âhttp://www.tux.org/lkml/
>



--
Only stand for myself
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/