mbox series

[0/4] Reduce lock contention during RCU CPU stall warnings

Message ID 415b108b-1046-4027-aa2a-c829b77f39f6@paulmck-laptop (mailing list archive)
Headers show
Series Reduce lock contention during RCU CPU stall warnings | expand

Message

Paul E. McKenney Aug. 23, 2024, 9:14 p.m. UTC
Hello!

This patch series reduces lock contention during RCU CPU stall warnings,
especially on systems having slow consoles.  It does this first by
deferring printk() output, second by refraining from emitting stack
backtraces if the grace period should end partway through, and third
by using a lockless check in order to avoid ever acquiring the lock for
leaf rcu_node structures not associated with a stalled CPU.  In the case
where a given rcu_node structure is associated with multiple stalled CPUs,
the lock is also dropped and reacquired for each stalled CPU.

While in the area, get rid of a function that is no longer used.

1.	Defer printing stall-warning backtrace when holding rcu_node lock.

2.	Delete unused rcu_gp_might_be_stalled() function.

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

4.	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 |    2 +
 kernel/rcu/tree_stall.h   |   65 +++++++++++++++-------------------------------
 4 files changed, 24 insertions(+), 45 deletions(-)