[PATCH v3 0/5] RCU dyntick nesting counter cleanups for rcu -dev

From: Joel Fernandes (Google)
Date: Mon May 04 2020 - 08:05:16 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

v2->v3:
- Rebase on rcu/dev with adjustments for tasks-RCU.

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

Madhuparna Bhowmik (1):
trace: events: rcu: Change description of rcu_dyntick trace event

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

--
2.26.2.526.g744177e7f7-goog