public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] rcu: Call wake_nocb_leader_defer() with 'FORCE' when nocb_q_count is high
@ 2018-02-28  5:49 Byungchul Park
  2018-02-28 21:05 ` Paul E. McKenney
  0 siblings, 1 reply; 2+ messages in thread
From: Byungchul Park @ 2018-02-28  5:49 UTC (permalink / raw)
  To: jiangshanlai, paulmck, josh, rostedt, mathieu.desnoyers
  Cc: linux-kernel, kernel-team

If many callbacks have been queued and waking up the nocb leader should
be deferred, then we should wake up the leader unconditionally when
it's safe to do so.

It was well managed in commit fbce7497ee(rcu: Parallelize and economize
NOCB kthread wakeups) at first, but the commit 8be6e1b15c(rcu: Use timer
as backstop for NOCB deferred wakeups) made a mistake which passed
RCU_NOCB_WAKE instead of RCU_NOCB_WAKE_FORCE as a parameter. Fix it.

Signed-off-by: Byungchul Park <byungchul.park@lge.com>
---
 kernel/rcu/tree_plugin.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index b0d7f9b..c06cf87 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -1987,7 +1987,7 @@ static void __call_rcu_nocb_enqueue(struct rcu_data *rdp,
 			trace_rcu_nocb_wake(rdp->rsp->name, rdp->cpu,
 					    TPS("WakeOvf"));
 		} else {
-			wake_nocb_leader_defer(rdp, RCU_NOCB_WAKE,
+			wake_nocb_leader_defer(rdp, RCU_NOCB_WAKE_FORCE,
 					       TPS("WakeOvfIsDeferred"));
 		}
 		rdp->qlen_last_fqs_check = LONG_MAX / 2;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-02-28 21:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-28  5:49 [PATCH] rcu: Call wake_nocb_leader_defer() with 'FORCE' when nocb_q_count is high Byungchul Park
2018-02-28 21:05 ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox