Re: [PATCH rcu 0/3] RCU CPU stall-warning changes for v6.13
From: Joel Fernandes
Date: Tue Oct 15 2024 - 20:01:45 EST
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@xxxxxxxxxxxxxxxxx>
>
> 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(-)
> > >