Re: [RFC PATCH 10/10] timer: Lower base clock forwarding threshold

From: Frederic Weisbecker
Date: Thu Jul 02 2020 - 09:32:26 EST


On Thu, Jul 02, 2020 at 03:21:35PM +0200, Thomas Gleixner wrote:
> Frederic Weisbecker <frederic@xxxxxxxxxx> writes:
> > There is no apparent reason for not forwarding base->clk when it's 2
> > jiffies late, except perhaps for past optimizations. But since forwarding
> > has to be done at some point now anyway, this doesn't stand anymore.
> >
> > Signed-off-by: Frederic Weisbecker <frederic@xxxxxxxxxx>
> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> > Cc: Anna-Maria Gleixner <anna-maria@xxxxxxxxxxxxx>
> > Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
> > ---
> > 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 439fee098e76..25a55c043297 100644
> > --- a/kernel/time/timer.c
> > +++ b/kernel/time/timer.c
> > @@ -883,7 +883,7 @@ static inline void forward_timer_base(struct timer_base *base)
> > * Also while executing timers, base->clk is 1 offset ahead
> > * of jiffies to avoid endless requeuing to current jffies.
> > */
> > - if ((long)(jnow - base->clk) < 2)
> > + if ((long)(jnow - base->clk) < 1)
> > return;
>
> The apparent reason is in the comment right above the condition ...

Hmm, that's a comment I added myself in the patch before.

The following part:

> > * Also while executing timers, base->clk is 1 offset ahead
> > * of jiffies to avoid endless requeuing to current jffies.
> > */

relates to situation when (long)(jnow - base->clk) < 0