[GIT PULL] RCU changes for v7.3

"Paul E. McKenney" <[email protected]>
Newsgroups org.kernel.vger.rcu,org.kernel.vger.linux-kernel
Message-ID <930b6c91-c426-46f0-b193-22c1e984f5e2@paulmck-laptop>
Hello, Linus,

Please pull this RCU update:
  git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux tags/rcu.2026.08.18a
  # HEAD: 9cc63f8bcd560c760d0b12e15bba8f81c86237cf: Merge branches 'expcb.2026.07.24a', 'misc.2026.07.30a', 'rcu-tasks.2026.07.30a', 'srcu.2026.08.11a' and 'torture.2026.08.14a' into HEAD (2026-08-14 15:43:51 -0700)

----------------------------------------------------------------
RCU updates:

Make expedited grace periods expedite normal RCU callbacks

Miscellaneous fixes:
 * Improve diagnostic output with character task states.
 * Mark accesses to inform KCSAN of concurrency design.
 * Move from kmalloc() to kmalloc_obj().
 * Documentation updates.
 * Improve handling of RCU deferred quiescent states.
 * Clean up unused function arguments and structure fields.
 * Reduce show_rcu_gp_kthreads() stack space.

Tasks RCU updates:
 * Clean up after SRCU re-implementation of Tasks Trace RCU.
 * Mark accesses to inform KCSAN of concurrency design.
 * Add ->lazy_timer status to diagnostic output.
 * Remove an unnecessary memory barrier.
 * Fix a data race, courtesy of KCSAN.
 * Documentation updates.
 * Convert cond_resched_tasks_rcu_qs() from macro to static inline
   function.

SRCU updates:
 * Add Rust helpers for SRCU.
 * Avoid losing queued work at cleanup_srcu_struct() time.

Torture-test updates:
 * Preparation work for immediate RCU priority deboosting.
 * Test RCU readers from real interrupt handlers (as opposed to softirq).
 * Simplify code through use of cpumask_next_wrap().
 * Improve diagnostic output with character task states.
 * Add rcutorture.nwriters parameter to allow lightweight stall testing,
   and rcutorture.stall_only to make doing so easier.
 * Test an RCU Tasks Trace grace period implying an RCU grace period.
 * Make RCU Tasks Trace torturing track reader batches.
 * Fix a data race, courtesy of KCSAN.
 * Plug a shuffle_tmp_mask memory leak on kthread spawn failure.

----------------------------------------------------------------
Itai Handler (1):
      rcu: Mark accesses to ->rcu_urgent_qs and ->rcu_need_heavy_qs

Joel Fernandes (6):
      rcu: Remove unused rdp parameter from trace_rcu_this_gp()
      rcu: introduce rcu_defer_qs_clear() helper
      rcu: clear defer_qs_pending in deferred-QS bail when nesting > 0
      rcu: Remove unused expedited_need_qs field from rcu_state
      rcu: Remove unused func parameter from callback-enqueue functions
      torture: Don't leak shuffle_tmp_mask when shuffler kthread fails to start

Kunwu Chan (2):
      rcu: Use task_state_to_char() in stall-warning prints
      rcutorture: Use task_state_to_char() for task-state reporting

Manuel Ebner (2):
      doc: RCU: Adopt new coding style of type-aware kmalloc-family - part 2/2
      doc: RCU: Fix brackets

Onur Özkan (5):
      srcu: make init_srcu_struct() consistently wrap __init_srcu_struct()
      rust: helpers: add SRCU helpers
      srcu: expose srcu_readers_active()
      rust: sync: add SRCU abstraction
      MAINTAINERS: add Rust SRCU files to SRCU entry

Paul E. McKenney (23):
      rcu-tasks: TASKS_TRACE_RCU doesn't need IRQ_WORK
      rcutorture: Abstract reader-segment dump into rcu_torture_dump_read_segs()
      rcu: Mark __rcu_access_pointer() as context_unsafe()
      rcu-tasks: Apply READ_ONCE() and WRITE_ONCE() to fix data race
      rcu: Use this_cpu_{read,write}() for ->cpu_no_qs.b.exp
      rcu: Use WRITE_ONCE() for ->rcu_need_heavy_qs
      rcu: Mark accesses to rdp->rcu_cpu_has_work
      rcu-tasks: Fix IRQ read lock/unlock data race
      rcu: Mark interrupts-enabled accesses to rdp->cpu_no_qs.b.norm
      rcu: Mark interrupts-enabled accesses to rdp->cpu_no_qs.s
      rcu-tasks: Convert cond_resched_tasks_rcu_qs() to static inline
      rcutorture: Check for immediate deboosting at reader end
      rcutorture: Test RCU readers from hardware interrupt handlers
      rcutorture: Use cpumask_next_wrap() in rcu_torture_preempt()
      rcutorture: Add nwriters module parameter
      rcutorture: Add a stall_only module parameter
      rcutorture: Test RCU Tasks Trace GP implying RCU GP
      rcutorture: Make RCU Tasks Trace track Reader Batches
      rcutorture: Use this_cpu_inc() for rcu_torture_count[] and rcu_torture_batch[]
      rcutorture: Announce declining to forward-progress test
      rcutorture: Make {,s}rcu_read_delay() better handle forward-progress testing
      rcu: Add closing parenthesis in comment in rcu_read_unlock_strict()
      Merge branches 'expcb.2026.07.24a', 'misc.2026.07.30a', 'rcu-tasks.2026.07.30a', 'srcu.2026.08.11a' and 'torture.2026.08.14a' into HEAD

Puranjay Mohan (11):
      rcu: Rename struct rcu_gp_oldstate to rcu_gp_seq
      rcu/segcblist: Add SRCU and Tasks RCU wrapper functions
      rcu/segcblist: Factor out rcu_segcblist_advance_compact() helper
      rcu/segcblist: Track segment grace periods with struct rcu_gp_seq
      rcu: Add RCU_GET_STATE_NOT_TRACKED for subsystems without expedited GPs
      rcu: Enable RCU callbacks to benefit from expedited grace periods
      rcu: Update comments for gp_seq and expedited GP tracking
      rcu: Wake NOCB rcuog kthreads on expedited grace period completion
      rcu: Detect expedited grace period completion in rcu_pending()
      rcu: Advance callbacks for expedited GP completion in rcu_core()
      rcuscale: Add concurrent expedited GP threads for callback scaling tests

Zqiang (10):
      rcu-tasks: Remove unused struct rcu_tasks's->n_ipis_fails variables
      rcu-tasks: Dump rcu tasks status when the boot-test failed
      rcu-tasks: Remove smp_mb() in rcu_spawn_tasks_kthread_generic()
      rcu-tasks: Update comments in call_rcu_tasks_generic()
      rcu-tasks: Dump rtpcp->lazy_timer status in show_rcu_tasks_generic_gp_kthread()
      rcu: Remove unused rdp parameter from rcu_check_gp_start_stall()
      rcu: Reduce stack usage in show_rcu_gp_kthreads()
      rcu-tasks: Rename tasks_rcu_exit_srcu_stall_timer to tasks_rcu_exit_stall_timer
      rcu-tasks: Fix some comments for call_rcu_tasks() and call_rcu_tasks_rude()
      srcu: Queue sdp->work when the delay timer is successfully deleted

 .../Expedited-Grace-Periods.rst                    |   2 +-
 .../RCU/Design/Memory-Ordering/TreeRCU-gp.svg      |   2 +-
 .../RCU/Design/Memory-Ordering/TreeRCU-qs.svg      |   2 +-
 .../RCU/Design/Requirements/Requirements.rst       |   2 +-
 Documentation/RCU/rcu_dereference.rst              |   4 +-
 Documentation/admin-guide/kernel-parameters.txt    |  14 +
 MAINTAINERS                                        |   3 +
 include/linux/rcu_segcblist.h                      |  16 +-
 include/linux/rcupdate.h                           |  29 +-
 include/linux/rcupdate_trace.h                     |  19 +-
 include/linux/rcupdate_wait.h                      |   2 +-
 include/linux/rcutiny.h                            |  36 +-
 include/linux/rcutree.h                            |  29 +-
 include/linux/srcu.h                               |  29 +-
 include/linux/srcutiny.h                           |  13 +
 include/linux/srcutree.h                           |  24 ++
 include/trace/events/rcu.h                         |   5 +-
 kernel/rcu/Kconfig                                 |   1 -
 kernel/rcu/rcu.h                                   |  20 +-
 kernel/rcu/rcu_segcblist.c                         | 139 +++++---
 kernel/rcu/rcu_segcblist.h                         |   8 +-
 kernel/rcu/rcuscale.c                              |  84 ++++-
 kernel/rcu/rcutorture.c                            | 374 ++++++++++++++-------
 kernel/rcu/srcutiny.c                              |  14 +-
 kernel/rcu/srcutree.c                              |  57 ++--
 kernel/rcu/tasks.h                                 |  62 ++--
 kernel/rcu/tiny.c                                  |   4 +-
 kernel/rcu/tree.c                                  | 195 +++++++----
 kernel/rcu/tree.h                                  |  14 +-
 kernel/rcu/tree_exp.h                              |  24 +-
 kernel/rcu/tree_nocb.h                             | 126 +++++--
 kernel/rcu/tree_plugin.h                           |  93 ++++-
 kernel/rcu/tree_stall.h                            |  64 ++--
 kernel/torture.c                                   |   7 +-
 mm/slab_common.c                                   |   6 +-
 rust/helpers/helpers.c                             |   1 +
 rust/helpers/srcu.c                                |  35 ++
 rust/kernel/sync.rs                                |   2 +
 rust/kernel/sync/srcu.rs                           | 171 ++++++++++
 39 files changed, 1251 insertions(+), 481 deletions(-)
 create mode 100644 rust/helpers/srcu.c
 create mode 100644 rust/kernel/sync/srcu.rs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.