Commit db7b464d authored by Zqiang's avatar Zqiang Committed by Joel Fernandes (Google)
Browse files

rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check



This commit adds checks for the TICK_DEP_MASK_RCU_EXP bit, thus enabling
RCU expedited grace periods to actually force-enable scheduling-clock
interrupts on holdout CPUs.

Fixes: df1e849a ("rcu: Enable tick for nohz_full CPUs slow to provide expedited QS")
Signed-off-by: default avatarZqiang <qiang1.zhang@intel.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Anna-Maria Behnsen <anna-maria@linutronix.de>
Acked-by: default avatarFrederic Weisbecker <frederic@kernel.org>
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
parent e22abe18
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -371,7 +371,8 @@ TRACE_EVENT(itimer_expire,
		tick_dep_name(PERF_EVENTS)		\
		tick_dep_name(SCHED)			\
		tick_dep_name(CLOCK_UNSTABLE)		\
		tick_dep_name_end(RCU)
		tick_dep_name(RCU)			\
		tick_dep_name_end(RCU_EXP)

#undef tick_dep_name
#undef tick_dep_mask_name
+5 −0
Original line number Diff line number Diff line
@@ -281,6 +281,11 @@ static bool check_tick_dependency(atomic_t *dep)
		return true;
	}

	if (val & TICK_DEP_MASK_RCU_EXP) {
		trace_tick_stop(0, TICK_DEP_MASK_RCU_EXP);
		return true;
	}

	return false;
}