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

From: Simon Horman
Date: Wed Dec 16 2009 - 19:07:42 EST


On Thu, Dec 17, 2009 at 12:58:27AM +0100, Thomas Gleixner wrote:
> 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 ?

Will do.

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