Commit ed4bbf79 authored by Thomas Gleixner's avatar Thomas Gleixner

timers: Unconditionally check deferrable base

When the timer base is checked for expired timers then the deferrable base
must be checked as well. This was missed when making the deferrable base
independent of base::nohz_active.

Fixes: ced6d5c1 ("timers: Use deferrable base independent of base::nohz_active")
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Anna-Maria Gleixner <anna-maria@linutronix.de>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Siewior <bigeasy@linutronix.de>
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org
Cc: rt@linutronix.de
parent 89876f27
...@@ -1696,7 +1696,7 @@ void run_local_timers(void) ...@@ -1696,7 +1696,7 @@ void run_local_timers(void)
hrtimer_run_queues(); hrtimer_run_queues();
/* Raise the softirq only if required. */ /* Raise the softirq only if required. */
if (time_before(jiffies, base->clk)) { if (time_before(jiffies, base->clk)) {
if (!IS_ENABLED(CONFIG_NO_HZ_COMMON) || !base->nohz_active) if (!IS_ENABLED(CONFIG_NO_HZ_COMMON))
return; return;
/* CPU is awake, so check the deferrable base. */ /* CPU is awake, so check the deferrable base. */
base++; base++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment