rcu: Finish folding ->fqs_state into ->gp_state
authorPetr Mladek <pmladek@suse.com>
Wed, 9 Sep 2015 19:09:49 +0000 (12:09 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 6 Oct 2015 18:15:59 +0000 (11:15 -0700)
commit77f81fe08ebd99d7e0eefde42ddac06a675bc4ad
tree6d5d0c2faad078f738bf6c1d7e0d63504101e720
parent49f5903b473c5f63f3b57856d1bd4593db0a2eef
rcu: Finish folding ->fqs_state into ->gp_state

Commit commit 4cdfc175c25c89ee ("rcu: Move quiescent-state forcing
into kthread") started the process of folding the old ->fqs_state into
->gp_state, but did not complete it.  This situation does not cause
any malfunction, but can result in extremely confusing trace output.
This commit completes this task of eliminating ->fqs_state in favor
of ->gp_state.

The old ->fqs_state was also used to decide when to collect dyntick-idle
snapshots.  For this purpose, we add a boolean variable into the kthread,
which is set on the first call to rcu_gp_fqs() for a given grace period
and clear otherwise.

Signed-off-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
kernel/rcu/tree.c
kernel/rcu/tree.h
kernel/rcu/tree_trace.c