Re: [RFC] timers: Remove duplicate setting of new_base in__mod_timer()

From: Thomas Gleixner
Date: Wed Dec 16 2009 - 18:58:52 EST


B1;2005;0cSimon,

On Thu, 17 Dec 2009, Simon Horman wrote:

> I am wondering if the first line of the following snippet of
> __mod_timer() can be removed as new_base always seems to be reset.

Good catch.

> Alternatively perhaps smp_processor_id() and per_cpu() could
> be moved to inside the #if and the call to __get_cpu_var() moved to
> inside #else ?

Nah, __get_cpu_var does a smp_processor_id() anyway. Removing that
first new_base assignment is the right thing to do.

> new_base = __get_cpu_var(tvec_bases);
>
> cpu = smp_processor_id();
>
> #if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP)
> if (!pinned && get_sysctl_timer_migration() && idle_cpu(cpu)) {
> int preferred_cpu = get_nohz_load_balancer();
>
> if (preferred_cpu >= 0)
> cpu = preferred_cpu;
> }
> #endif
> new_base = per_cpu(tvec_bases, cpu);
>
> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>
>
> Index: linux-2.6/kernel/timer.c
> ===================================================================
> --- linux-2.6.orig/kernel/timer.c 2009-12-17 07:02:57.000000000 +0900
> +++ linux-2.6/kernel/timer.c 2009-12-17 07:03:17.000000000 +0900
> @@ -656,8 +656,6 @@ __mod_timer(struct timer_list *timer, un
>
> debug_activate(timer, expires);
>
> - new_base = __get_cpu_var(tvec_bases);
> -
> cpu = smp_processor_id();
>
> #if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP)

Could you please resend the patch with a proper change log ?

Thanks,

tglx

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