All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/21] Add atomic SRCU &c for v7.4
@ 2026-10-07 20:59 Paul E. McKenney
  2026-10-07 20:59 ` [PATCH v2 01/21] srcutiny: Make a Tiny SRCU grace period imply an RCU grace period Paul E. McKenney
                   ` (20 more replies)
  0 siblings, 21 replies; 28+ messages in thread
From: Paul E. McKenney @ 2026-10-07 20:59 UTC (permalink / raw)
  To: rcu; +Cc: linux-kernel, kernel-team, rostedt

Hello!

This series adds an atomic SRCU and some additional adjustments:

1.	Make a Tiny SRCU grace period imply an RCU grace period.

2.	Suppress srcu_advance_state() mutex_lock in atomic.

3.	Suppress to-big transition for atomic SRCU.

4.	Add an atomic Tree SRCU.

5.	Add an atomic Tiny SRCU.

6.	Add support for testing synchronize_srcu_atomic().

7.	Disable preemption across synchronize_srcu_atomic().

8.	Use IRQ_WORK_INIT_HARD for srcu's irq_work, courtesy of Sebastian
	Andrzej Siewior.

9.	Warn if Tiny SRCU readers are preempted.

10.	Explicitly note DEFINE_SRCU() needs for srcu_barrier().

11.	Add atomic-SRCU support to torture.sh, courtesy of Kunwu Chan.

12.	Add reader-free fastpath to synchronize_srcu_atomic(), courtesy
	of Kunwu Chan.

13.	Skip callback scheduling for atomic SRCU grace periods, courtesy
	of Kunwu Chan.

14.	Remove srcu_barrier() sleep for atomic SRCU, courtesy of Kunwu
	Chan.

15.	Restrict atomic-SRCU non_block annotation to task context,
	courtesy of Kunwu Chan.

16.	Make init_srcu_struct_atomic() prevent transition to big,
	courtesy of Kunwu Chan.

17.	Don't transition atomic SRCU to big in srcu_gp_end(), courtesy
	of Kunwu Chan.

18.	Skip torture to-big transition for atomic SRCU, courtesy of
	Kunwu Chan.

19.	Add lockdep and early-boot checks to synchronize_srcu_atomic(),
	courtesy of Kunwu Chan.

20.	Add lockdep and early-boot checks to synchronize_srcu_atomic(),
	courtesy of Kunwu Chan.

21.	Preserve IRQ state in synchronize_srcu_atomic() callchain,
	courtesy of Kunwu Chan.

Changes since v1:
https://lore.kernel.org/all/13d6be93-8d9d-47a2-beb0-99c8a90938d4@paulmck-laptop/

o	Added patches 19-21.

o	Dropped old patch 9 in favor of an urgent RFC pull request.

						Thanx, Paul

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

 b/include/linux/srcu.h                              |   81 ++++
 b/include/linux/srcutiny.h                          |    6 
 b/include/linux/srcutree.h                          |    9 
 b/kernel/rcu/rcutorture.c                           |   46 ++
 b/kernel/rcu/srcutiny.c                             |    2 
 b/kernel/rcu/srcutree.c                             |   23 -
 b/tools/testing/selftests/rcutorture/bin/torture.sh |   24 +
 include/linux/srcu.h                                |   10 
 include/linux/srcutree.h                            |    6 
 kernel/rcu/srcutiny.c                               |   94 +++++
 kernel/rcu/srcutree.c                               |  333 ++++++++++++++++----
 11 files changed, 548 insertions(+), 86 deletions(-)

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2026-10-14 22:02 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-07 20:59 [PATCH v2 0/21] Add atomic SRCU &c for v7.4 Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 01/21] srcutiny: Make a Tiny SRCU grace period imply an RCU grace period Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 02/21] srcutree: Suppress srcu_advance_state() mutex_lock in atomic Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 03/21] srcutree: Suppress to-big transition for atomic SRCU Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 04/21] srcutree: Add an atomic Tree SRCU Paul E. McKenney
2026-10-08  7:39   ` David Woodhouse
2026-10-08 15:51     ` Paul E. McKenney
2026-10-12 12:49       ` David Woodhouse
2026-10-14 21:14         ` Paul E. McKenney
2026-10-14 21:31           ` David Woodhouse
2026-10-14 22:02             ` Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 05/21] srcutiny: Add an atomic Tiny SRCU Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 06/21] rcutorture: Add support for testing synchronize_srcu_atomic() Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 07/21] srcutree: Disable preemption across synchronize_srcu_atomic() Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 08/21] srcu: Use IRQ_WORK_INIT_HARD for srcu's irq_work Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 09/21] srcutree: Warn if Tiny SRCU readers are preempted Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 10/21] srcutree: Explicitly note DEFINE_SRCU() needs for srcu_barrier() Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 11/21] rcutorture: Add atomic-SRCU support to torture.sh Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 12/21] srcutree: Add reader-free fastpath to synchronize_srcu_atomic() Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 13/21] srcutree: Skip callback scheduling for atomic SRCU grace periods Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 14/21] srcutree: Remove srcu_barrier() sleep for atomic SRCU Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 15/21] srcu: Restrict atomic-SRCU non_block annotation to task context Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 16/21] srcutree: Make init_srcu_struct_atomic() prevent transition to big Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 17/21] srcutree: Don't transition atomic SRCU to big in srcu_gp_end() Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 18/21] srcutree: Skip torture to-big transition for atomic SRCU Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 19/21] srcutree: Add lockdep and early-boot checks to synchronize_srcu_atomic() Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 20/21] srcutiny: " Paul E. McKenney
2026-10-07 20:59 ` [PATCH v2 21/21] srcutree: Preserve IRQ state in synchronize_srcu_atomic() callchain Paul E. McKenney

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.