mbox series

[0/3] RCU CPU stall-warning changes for v6.13

Message ID fb0b7a92-d371-4510-80c4-25a57f2c4f3d@paulmck-laptop (mailing list archive)
Headers show
Series RCU CPU stall-warning changes for v6.13 | expand

Message

Paul E. McKenney Oct. 9, 2024, 6:05 p.m. UTC
Hello!

This series contains RCU CPU stall-warning changes for v6.13:

1.	Delete unused rcu_gp_might_be_stalled() function.

2.	Stop stall warning from dumping stacks if grace period ends.

3.	Finer-grained grace-period-end checks in rcu_dump_cpu_stacks().

						Thanx, Paul

------------------------------------------------------------------------

 b/include/linux/rcutiny.h |    1 -
 b/include/linux/rcutree.h |    1 -
 b/kernel/rcu/tree_stall.h |   30 ------------------------------
 kernel/rcu/tree_stall.h   |   35 ++++++++++++++++++++++-------------
 4 files changed, 22 insertions(+), 45 deletions(-)

Comments

Joel Fernandes Oct. 15, 2024, 6:49 p.m. UTC | #1
On Wed, Oct 09, 2024 at 11:05:02AM -0700, Paul E. McKenney wrote:
> Hello!
> 
> This series contains RCU CPU stall-warning changes for v6.13:
> 
> 1.	Delete unused rcu_gp_might_be_stalled() function.
> 
> 2.	Stop stall warning from dumping stacks if grace period ends.
> 
> 3.	Finer-grained grace-period-end checks in rcu_dump_cpu_stacks().
> 

Other than small nit in 2/3, 

Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>

I was curious if you're seeing perf or other improvements with the
finer-grained rnp locking.

thanks,

 - Joel


> 						Thanx, Paul
> 
> ------------------------------------------------------------------------
> 
>  b/include/linux/rcutiny.h |    1 -
>  b/include/linux/rcutree.h |    1 -
>  b/kernel/rcu/tree_stall.h |   30 ------------------------------
>  kernel/rcu/tree_stall.h   |   35 ++++++++++++++++++++++-------------
>  4 files changed, 22 insertions(+), 45 deletions(-)
>
Paul E. McKenney Oct. 15, 2024, 11:02 p.m. UTC | #2
On Tue, Oct 15, 2024 at 02:49:06PM -0400, Joel Fernandes wrote:
> On Wed, Oct 09, 2024 at 11:05:02AM -0700, Paul E. McKenney wrote:
> > Hello!
> > 
> > This series contains RCU CPU stall-warning changes for v6.13:
> > 
> > 1.	Delete unused rcu_gp_might_be_stalled() function.
> > 
> > 2.	Stop stall warning from dumping stacks if grace period ends.
> > 
> > 3.	Finer-grained grace-period-end checks in rcu_dump_cpu_stacks().
> > 
> 
> Other than small nit in 2/3, 
> 
> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>

Applied, thank you, and I also added the data_race() in 2/3.

> I was curious if you're seeing perf or other improvements with the
> finer-grained rnp locking.

This is about robustness rather that performance, though I suppose you
could argue that lack of robustness is an extreme form of bad performance.
Holding the leaf rcu_node locks for too long while dumping stacks can
result in things like CSD-lock timeouts due to the dumping CPU having
interrupts disabled for an extended period.

And earlier commit, 1ecd9d68eb44 ("rcu: Defer printing stall-warning
backtrace when holding rcu_node lock"), took care of most of the issue
by deferring the actual output.  But while in the area, it seemed wise
to avoid up to 64 dumps being generated (but no longer printed) while
holding a leaf rcu_node lock.

Hence this commit.

							Thanx, Paul

> thanks,
> 
>  - Joel
> 
> 
> > 						Thanx, Paul
> > 
> > ------------------------------------------------------------------------
> > 
> >  b/include/linux/rcutiny.h |    1 -
> >  b/include/linux/rcutree.h |    1 -
> >  b/kernel/rcu/tree_stall.h |   30 ------------------------------
> >  kernel/rcu/tree_stall.h   |   35 ++++++++++++++++++++++-------------
> >  4 files changed, 22 insertions(+), 45 deletions(-)
> >
Joel Fernandes Oct. 16, 2024, 12:01 a.m. UTC | #3
On Tue, Oct 15, 2024 at 04:02:37PM -0700, Paul E. McKenney wrote:
> On Tue, Oct 15, 2024 at 02:49:06PM -0400, Joel Fernandes wrote:
> > On Wed, Oct 09, 2024 at 11:05:02AM -0700, Paul E. McKenney wrote:
> > > Hello!
> > > 
> > > This series contains RCU CPU stall-warning changes for v6.13:
> > > 
> > > 1.	Delete unused rcu_gp_might_be_stalled() function.
> > > 
> > > 2.	Stop stall warning from dumping stacks if grace period ends.
> > > 
> > > 3.	Finer-grained grace-period-end checks in rcu_dump_cpu_stacks().
> > > 
> > 
> > Other than small nit in 2/3, 
> > 
> > Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
> 
> Applied, thank you, and I also added the data_race() in 2/3.
> 
> > I was curious if you're seeing perf or other improvements with the
> > finer-grained rnp locking.
> 
> This is about robustness rather that performance, though I suppose you
> could argue that lack of robustness is an extreme form of bad performance.
> Holding the leaf rcu_node locks for too long while dumping stacks can
> result in things like CSD-lock timeouts due to the dumping CPU having
> interrupts disabled for an extended period.
> 
> And earlier commit, 1ecd9d68eb44 ("rcu: Defer printing stall-warning
> backtrace when holding rcu_node lock"), took care of most of the issue
> by deferring the actual output.  But while in the area, it seemed wise
> to avoid up to 64 dumps being generated (but no longer printed) while
> holding a leaf rcu_node lock.
> 
> Hence this commit.

That's smart to do and makes sense, thanks!

 - Joel


> 
> 							Thanx, Paul
> 
> > thanks,
> > 
> >  - Joel
> > 
> > 
> > > 						Thanx, Paul
> > > 
> > > ------------------------------------------------------------------------
> > > 
> > >  b/include/linux/rcutiny.h |    1 -
> > >  b/include/linux/rcutree.h |    1 -
> > >  b/kernel/rcu/tree_stall.h |   30 ------------------------------
> > >  kernel/rcu/tree_stall.h   |   35 ++++++++++++++++++++++-------------
> > >  4 files changed, 22 insertions(+), 45 deletions(-)
> > >