* Oleg Nesterov <oleg@xxxxxxxxxx> [2009-03-05 17:53:40]: > On 03/04, Arun R Bharadwaj wrote: > > > > +static inline unsigned long tbase_get_flag_bits(struct timer_list *timer) > > +{ > > + return tbase_get_deferrable(timer->base) | > > + tbase_get_pinned(timer->base); > > +} > > I'd say this looks a bit strange. Hopefully compiler can optimize this code > to return (unsigned long)base & (TBASE_DEFERRABLE_FLAG | TBASE_PINNED_FLAG). > Misread the above statement. The code is functionally correct. But not sure if the compiler optimizes in the way that you have mentioned. > > @@ -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. > _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm