Re: [RFC v1 0/2] RCU dyntick nesting counter cleanups

From: Paul E. McKenney
Date: Tue Aug 27 2019 - 20:12:26 EST


On Mon, Aug 26, 2019 at 09:33:52PM -0400, Joel Fernandes (Google) wrote:
> 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!

My intent was to review this today, but this ran afoul of recent 3.10
work that made for some "interesting" review comments. Fortunately,
I realized my mistake before sending the email. I then reviewed the
current 2019 RCU dyntick-idle code.

I am doing some (possibly redundant) rcutorture runs on them here, and
will take a fresh look tomorrow.

Thanx, Paul

> 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
>