On Tue, Apr 28, 2015 at 7:51 AM, Joonwoo Park <[email protected]> wrote:
> At present, internal_add_timer() examines flags with 'base' which doesn't
> contain flags.  Examine with 'timer->base' to avoid unnecessary waking up
> of nohz CPU when timer base has TIMER_DEFERRABLE.
>
> CC: Thomas Gleixner <[email protected]>
> CC: John Stultz <[email protected]>
> Signed-off-by: Joonwoo Park <[email protected]>
> ---
>  kernel/time/timer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/time/timer.c b/kernel/time/timer.c
> index 2ece3aa..e5d5733c 100644
> --- a/kernel/time/timer.c
> +++ b/kernel/time/timer.c
> @@ -434,7 +434,7 @@ static void internal_add_timer(struct tvec_base *base, 
> struct timer_list *timer)
>          * require special care against races with idle_cpu(), lets deal
>          * with that later.
>          */
> -       if (!tbase_get_deferrable(base) || tick_nohz_full_cpu(base->cpu))
> +       if (!tbase_get_deferrable(timer->base) || 
> tick_nohz_full_cpu(base->cpu))
>                 wake_up_nohz_cpu(base->cpu);
>  }

Oops !!

Fixes: 9f6d9baaa8ca ("timer: Kick dynticks targets on mod_timer*() calls")
Cc: 3.17+ <[email protected]> # 3.17+

Reviewed-by: Viresh Kumar <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to