[RFC,v1,0/2] RCU dyntick nesting counter cleanups
mbox series

Message ID 5d648893.1c69fb81.5e60a.fc6c@mx.google.com
Headers show
Series
  • RCU dyntick nesting counter cleanups
Related show

Message

Joel Fernandes Aug. 27, 2019, 1:33 a.m. UTC
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

Comments

Paul E. McKenney Aug. 28, 2019, 12:11 a.m. UTC | #1
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
>