]> git.baikalelectronics.ru Git - kernel.git/commit
rcu: Drive expedited grace periods from workqueue
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 29 Jun 2016 20:46:25 +0000 (13:46 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 22 Aug 2016 16:30:25 +0000 (09:30 -0700)
commit8fa4c0f7a95762f00bafe26f0f3968a0d1151c04
treef923d1cb005f3102e76cd0b2f64567ed80f67c7a
parentaa419e689417ef4f07a1d0441b85076dac04e7d7
rcu: Drive expedited grace periods from workqueue

The current implementation of expedited grace periods has the user
task drive the grace period.  This works, but has downsides: (1) The
user task must awaken tasks piggybacking on this grace period, which
can result in latencies rivaling that of the grace period itself, and
(2) User tasks can receive signals, which interfere with RCU CPU stall
warnings.

This commit therefore uses workqueues to drive the grace periods, so
that the user task need not do the awakening.  A subsequent commit
will remove the now-unnecessary code allowing for signals.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree.h
kernel/rcu/tree_exp.h
kernel/rcu/tree_trace.c