[PATCH v2 0/4] RCU dyntick nesting counter cleanups

From: Joel Fernandes (Google)
Date: Sat Mar 28 2020 - 18:18:41 EST


These patches clean up the usage of dynticks nesting counters simplifying the
code, while preserving the usecases.

It is a much needed simplification, makes the code less confusing, and prevents
future bugs such as those that arise from forgetting that the
dynticks_nmi_nesting counter is not a simple counter and can be "crowbarred" in
common situations.

rcutorture testing with all TREE RCU configurations succeed with
CONFIG_RCU_EQS_DEBUG=y and CONFIG_PROVE_LOCKING=y.

v1->v2:
- Rebase on v5.6-rc6

Joel Fernandes (Google) (4):
Revert b8c17e6664c4 ("rcu: Maintain special bits at bottom of
->dynticks counter")
rcu/tree: Add better tracing for dyntick-idle
rcu/tree: Clean up dynticks counter usage
rcu/tree: Remove dynticks_nmi_nesting counter

.../Data-Structures/Data-Structures.rst | 31 +--
Documentation/RCU/stallwarn.txt | 6 +-
include/linux/rcutiny.h | 3 -
include/trace/events/rcu.h | 29 +--
kernel/rcu/rcu.h | 4 -
kernel/rcu/tree.c | 188 +++++++-----------
kernel/rcu/tree.h | 4 +-
kernel/rcu/tree_stall.h | 4 +-
8 files changed, 105 insertions(+), 164 deletions(-)

--
2.26.0.rc2.310.g2932bb562d-goog