On 03/06, Arun R Bharadwaj wrote: > > * Oleg Nesterov <oleg@xxxxxxxxxx> [2009-03-05 17:53:40]: > > > > @@ -736,6 +759,7 @@ void add_timer_on(struct timer_list *tim > > > struct tvec_base *base = per_cpu(tvec_bases, cpu); > > > unsigned long flags; > > > > > > + timer_set_pinned(timer); > > > > But we never clear TBASE_PINNED_FLAG? > > > > If we use mod_timer() next time, the timer remains "pinned". I do not say > > this is really wrong, but a bit strange imho. > > > > Oleg. > > > > The pinned timer would expect to continue firing on the same CPU > although it does a mod_timer() the next time, right? Why? Let's suppose we call queue_delayed_work_on(), and next time we use queue_delayed_work() with the same dwork. The timer is still pinned, this doesn't look consistent to me. > Thats why I have not cleared the TBASE_PINNED_FLAG. Personally, I don't like this flag. I think that "pinned" should be the argument for mod_timer(), not the "property" of timer_list. Oleg. _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm