]> www.infradead.org Git - users/jedix/linux-maple.git/commit
rcu/nocb: Prepare for fine-grained deferred wakeup
authorFrederic Weisbecker <frederic@kernel.org>
Tue, 23 Feb 2021 00:10:10 +0000 (01:10 +0100)
committerPaul E. McKenney <paulmck@kernel.org>
Tue, 6 Apr 2021 23:07:14 +0000 (16:07 -0700)
commit9396b177e741942ad87d8dc375ebe7774eff71a7
treecbd85a60a6b224a48c63c64add748aea8d414bea
parent833782af51169a17f36d4a98cbacdca1dad0398f
rcu/nocb: Prepare for fine-grained deferred wakeup

Tuning the deferred wakeup level must be done from a safe wakeup
point. Currently those sites are:

* ->nocb_timer
* user/idle/guest entry
* CPU down
* softirq/rcuc

All of these sites perform the wake up for both RCU_NOCB_WAKE and
RCU_NOCB_WAKE_FORCE.

In order to merge ->nocb_timer and ->nocb_bypass_timer together, we plan
to add a new RCU_NOCB_WAKE_BYPASS that really should be deferred until
a timer fires so that we don't wake up the NOCB-gp kthread too early.

To prepare for that, this commit specifies the per-callsite wakeup
level/limit.

Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Joel Fernandes <joel@joelfernandes.org>
Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
Cc: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
[ paulmck: Fix non-NOCB rcu_nocb_need_deferred_wakeup() definition. ]
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c
kernel/rcu/tree.h
kernel/rcu/tree_plugin.h