[PATCH RFC tip/core/rcu 0/5] Consolidate RCU dyntick-idle counter manipulation

From: Paul E. McKenney
Date: Mon Nov 14 2016 - 13:30:13 EST


Hello!

The first four patches of this series consolidate RCU's dyntick-idle
counter manipulations into a set of access functions. These are currently
queued for 4.12 (merge window after next). The last patch in this series
uses the bottom bit of RCU's dyntick-idle counter to track a CPU's state,
and has been proposed to track the need to flush the local CPU's TLB.
This last patch will not be pushed until it has a use.

The patches are as follows:

1. Abstract the dynticks momentary-idle operation.

2. Abstract the dynticks snapshot operation.

3. Abstract dynticks extended quiescent state enter/exit operations.

4. Abstract extended quiescent state determination.

5. Maintain special bits at bottom of ->dynticks counter, which
might be used to track a given CPU's need to flush TLBs.

Thanx, Paul

------------------------------------------------------------------------

include/linux/rcutiny.h | 11 +
kernel/rcu/tree.c | 263 ++++++++++++++++++++++++++++++++++-------------
kernel/rcu/tree.h | 3
kernel/rcu/tree_exp.h | 12 --
kernel/rcu/tree_plugin.h | 2
kernel/rcu/tree_trace.c | 2
6 files changed, 216 insertions(+), 77 deletions(-)