mirror of https://lore.kernel.org/lkml/
 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; 24+ 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] 24+ messages in thread

end of thread, other threads:[~2026-10-08 15:51 UTC | newest]

Thread overview: 24+ 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-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®