rcu: Make FQS schedule advance only if FQS happened
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 4 Jan 2016 00:42:18 +0000 (16:42 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 31 Mar 2016 20:34:49 +0000 (13:34 -0700)
commitfcfd0a237bfcf0c314005007e9d76e55a25e2bad
treefd7984d324b09a4d4ef8662eec232b64bb80d703
parent86057b80ae31d37fcbdb5f57d15aaf1148c69f96
rcu: Make FQS schedule advance only if FQS happened

Currently, the force-quiescent-state (FQS) code in rcu_gp_kthread() can
advance the next FQS even if one was not executed last time.  This can
happen due timeout-duration uncertainty.  This commit therefore avoids
advancing the FQS schedule unless an FQS was just executed.  In the
corner case where an FQS was not executed, but is due now, the code does
a one-jiffy wait.

This change prepares for kthread kicking.

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