Pārlūkot izejas kodu

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: ced6d5c11d3e ("timers: Use deferrable base independent of base::nohz_active")
Signed-off-by: Thomas 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
Thomas Gleixner 7 gadi atpakaļ
vecāks
revīzija
ed4bbf7910
1 mainītis faili ar 1 papildinājumiem un 1 dzēšanām
  1. 1 1
      kernel/time/timer.c

+ 1 - 1
kernel/time/timer.c

@@ -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++;