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. Several nights of rcutorture testing with CONFIG_RCU_EQS_DEBUG on all RCU kernel configurations have survived without any splats. Further testing is in progress, hence marked as RFC! thanks, - Joel Joel Fernandes (Google) (2): 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 +- kernel/rcu/rcu.h | 4 - kernel/rcu/tree.c | 98 +++++++++---------- kernel/rcu/tree.h | 4 +- kernel/rcu/tree_stall.h | 4 +- 6 files changed, 64 insertions(+), 83 deletions(-) -- 2.23.0.187.g17f5b7556c-goog