Re: [PATCH] timer: Fix mod_timer_pinned() header commen (was: [PATCHRFC tip/core/rcu 4/4] rcu: Ensure that RCU_FAST_NO_HZ timers expire oncorrect CPU)

From: Paul E. McKenney
Date: Thu Apr 26 2012 - 14:46:52 EST


On Thu, Apr 26, 2012 at 02:10:19PM -0400, Steven Rostedt wrote:
>
> > ------------------------------------------------------------------------
> >
> > timer: Fix mod_timer_pinned() header comment
> >
> > The mod_timer_pinned() header comment states that it prevents timers
> > from being migrated to a different CPU. This is not the case, instead,
> > it ensures that the timer is posted to the current CPU, but does nothing
> > to prevent CPU-hotplug operations from migrating the timer.
> >
> > This commit therefore brings the comment header into alignment with
> > reality.
> >
> > Signed-off-by: Paul E. McKenney <paul.mckenney@xxxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
>
> I'm seeing double :-)

"Bartender, give me a double!"

> > diff --git a/kernel/timer.c b/kernel/timer.c
> > index a297ffc..7114336 100644
> > --- a/kernel/timer.c
> > +++ b/kernel/timer.c
> > @@ -861,7 +861,12 @@ EXPORT_SYMBOL(mod_timer);
> > *
> > * mod_timer_pinned() is a way to update the expire field of an
> > * active timer (if the timer is inactive it will be activated)
> > - * and not allow the timer to be migrated to a different CPU.
> > + * and to ensure that the timer is scheduled on the current CPU.
>
> Add space here.
>
> + *

Good point, done!

> > + * Note that this does not prevent the timer from being migrated
> > + * when the current CPU goes offline. If this is a problem for
> > + * you, use CPU-hotplug notifiers to handle it correctly, for
> > + * example, cancelling the timer when the corresponding CPU goes
> > + * offline.
> > *
> > * mod_timer_pinned(timer, expires) is equivalent to:
> > *
>
> Adding a space will make the "Note" stand out more, and more likely seen
> by people who use this function.
>
> Other than that:
>
> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

Got it, thank you!

Thanx, Paul

------------------------------------------------------------------------

timer: Fix mod_timer_pinned() header comment

The mod_timer_pinned() header comment states that it prevents timers
from being migrated to a different CPU. This is not the case, instead,
it ensures that the timer is posted to the current CPU, but does nothing
to prevent CPU-hotplug operations from migrating the timer.

This commit therefore brings the comment header into alignment with
reality.

Signed-off-by: Paul E. McKenney <paul.mckenney@xxxxxxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

diff --git a/kernel/timer.c b/kernel/timer.c
index a297ffc..837c552 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -861,7 +861,13 @@ EXPORT_SYMBOL(mod_timer);
*
* mod_timer_pinned() is a way to update the expire field of an
* active timer (if the timer is inactive it will be activated)
- * and not allow the timer to be migrated to a different CPU.
+ * and to ensure that the timer is scheduled on the current CPU.
+ *
+ * Note that this does not prevent the timer from being migrated
+ * when the current CPU goes offline. If this is a problem for
+ * you, use CPU-hotplug notifiers to handle it correctly, for
+ * example, cancelling the timer when the corresponding CPU goes
+ * offline.
*
* mod_timer_pinned(timer, expires) is equivalent to:
*

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