[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150527053919.GD31085@linux>
Date: Wed, 27 May 2015 11:09:19 +0530
From: Viresh Kumar <viresh.kumar@...aro.org>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Eric Dumazet <edumazet@...gle.com>,
John Stultz <john.stultz@...aro.org>,
Joonwoo Park <joonwoop@...eaurora.org>,
Wenbo Wang <wenbo.wang@...blaze.com>
Subject: Re: [patch 1/7] timers: Sanitize catchup_timer_jiffies() usage
On 26-05-15, 22:50, Thomas Gleixner wrote:
> 3) __run_timers()
>
> We only check on entry, which is silly, because base->timer_jiffies
> can be behind - especially on NOHZ kernels - and if there is a
> single deferrable timer somewhere between base->timer_jiffies and
> jiffies we expire it and then loop until base->timer_jiffies ==
> jiffies.
This may be incorrect. Once we expire that single deferrable timer, we
call detach_expired_timer(), which calls catchup_timer_jiffies() at
its end. And so the following loop should end right away, isn't it ?
while (time_after_eq(jiffies, base->timer_jiffies))
> +++ tip/kernel/time/timer.c
> -static bool catchup_timer_jiffies(struct tvec_base *base)
> +static inline bool catchup_timer_jiffies(struct tvec_base *base)
There is only one user left for this routine now, i.e. __run_timers().
Should we drop this routine ?
--
viresh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists