Re: [patch 2/4] timers: Consolidate base->next_timer update

From: Nikunj A Dadhania
Date: Tue May 29 2012 - 02:42:28 EST


>
> -static void internal_add_timer(struct tvec_base *base, struct timer_list *timer)
> +static void
> +__internal_add_timer(struct tvec_base *base, struct timer_list *timer)
> {
> unsigned long expires = timer->expires;
> unsigned long idx = expires - base->timer_jiffies;
> @@ -372,6 +373,17 @@ static void internal_add_timer(struct tv
> list_add_tail(&timer->entry, vec);
> }
>
> +static void internal_add_timer(struct tvec_base *base, struct timer_list *timer)
> +{
> + __internal_add_timer(base, timer);
> + /*
> + * Update base->next_timer if this is the earliest one.
> + */
> + if (time_before(timer->expires, base->next_timer) &&
> + !tbase_get_deferrable(timer->base))
> + base->next_timer = timer->expires;
> +}
> +
>
Shouldn't this be like this?

+ /*
+ * Update base->next_timer if this is the earliest one.
+ */
+ if (time_before(timer->expires, base->next_timer) &&
+ !tbase_get_deferrable(timer->base))
+ base->next_timer = timer->expires;
+ __internal_add_timer(base, timer);

As per the below code?

> #ifdef CONFIG_TIMER_STATS
> void __timer_stats_timer_set_start_info(struct timer_list *timer, void *addr)
> {
> @@ -757,9 +769,6 @@ __mod_timer(struct timer_list *timer, un
> }
>
> timer->expires = expires;
> - if (time_before(timer->expires, base->next_timer) &&
> - !tbase_get_deferrable(timer->base))
> - base->next_timer = timer->expires;
> internal_add_timer(base, timer);
>

--
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/