Hello, Linus, When the merge window opens, please pull this RCU update from: git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/rcu.2024.07.12a # HEAD: 02219caa92b5b0ed97f8d8b9cf580f6f34a9be31: Merge branches 'doc.2024.06.06a', 'fixes.2024.07.04a', 'mb.2024.06.28a', 'nocb.2024.06.03a', 'rcu-tasks.2024.06.06a', 'rcutorture.2024.06.06a' and 'srcu.2024.06.18a' into HEAD (2024-07-04 13:54:17 -0700) ---------------------------------------------------------------- RCU pull request for v6.11 doc.2024.06.06a: Update Tasks RCU and Tasks Rude RCU description in Requirements.rst and clarify rcu_assign_pointer() and rcu_dereference() ordering properties. fixes.2024.07.04a: Add lockdep assertions for RCU readers, limit inline wakeups for callback-bypass synchronize_rcu(), add an rcutree.nohz_full_patience_delay to reduce nohz_full OS jitter, add Uladzislau Rezki as RCU maintainer, and fix a subtle callback-migration memory-ordering issue. mb.2024.06.28a: Remove a number of redundant memory barriers. nocb.2024.06.03a: Remove unnecessary bypass-list lock-contention mitigation, use parking API instead of open-coded ad-hoc equivalent, and upgrade obsolete comments. rcu-tasks.2024.06.06a: Revert avoidance of a deadlock that can no longer occur and properly synchronize Tasks Trace RCU checking of runqueues. rcutorture.2024.06.06a: Add tests for handling of double-call_rcu() bug, add missing MODULE_DESCRIPTION, and add a script that histograms the number of calls to RCU updaters. srcu.2024.06.18a: Fill out SRCU polled-grace-period API. ---------------------------------------------------------------- Frederic Weisbecker (13): rcu/nocb: Fix segcblist state machine comments about bypass rcu/nocb: Fix segcblist state machine stale comments about timers rcu/nocb: Use kthread parking instead of ad-hoc implementation rcu/nocb: Remove buggy bypass lock contention mitigation Revert "rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes()" rcu/tasks: Fix stale task snaphot for Tasks Trace rcu: Remove full ordering on second EQS snapshot rcu: Remove superfluous full memory barrier upon first EQS snapshot rcu/exp: Remove superfluous full memory barrier upon first EQS snapshot rcu: Remove full memory barrier on boot time eqs sanity check rcu: Remove full memory barrier on RCU stall printout rcu/exp: Remove redundant full memory barrier at the end of GP rcu: Fix rcu_barrier() VS post CPUHP_TEARDOWN_CPU invocation Jeff Johnson (1): rcutorture: Add missing MODULE_DESCRIPTION() macros Joel Fernandes (Google) (1): rcu/tree: Reduce wake up for synchronize_rcu() common case Oleg Nesterov (1): rcu: Eliminate lockless accesses to rcu_sync->gp_count Paul E. McKenney (13): rcu: Add lockdep_assert_in_rcu_read_lock() and friends doc: Update Tasks RCU and Tasks Rude RCU description in Requirements.rst doc: Clarify rcu_assign_pointer() and rcu_dereference() ordering rcutorture: Fix rcu_torture_fwd_cb_cr() data race tools/rcu: Add rcu-updaters.sh script rcu: Disable interrupts directly in rcu_gp_init() srcu: Disable interrupts directly in srcu_gp_end() srcu: Add NUM_ACTIVE_SRCU_POLL_OLDSTATE srcu: Update cleanup_srcu_struct() comment srcu: Fill out polled grace-period APIs rcu: Add rcutree.nohz_full_patience_delay to reduce nohz_full OS jitter MAINTAINERS: Add Uladzislau Rezki as RCU maintainer Merge branches 'doc.2024.06.06a', 'fixes.2024.07.04a', 'mb.2024.06.28a', 'nocb.2024.06.03a', 'rcu-tasks.2024.06.06a', 'rcutorture.2024.06.06a' and 'srcu.2024.06.18a' into HEAD Zqiang (1): rcutorture: Make rcutorture support srcu double call test .../Memory-Ordering/Tree-RCU-Memory-Ordering.rst | 6 +- .../RCU/Design/Requirements/Requirements.rst | 16 +++ Documentation/RCU/whatisRCU.rst | 30 +++-- Documentation/admin-guide/kernel-parameters.txt | 8 ++ MAINTAINERS | 1 + include/linux/rcu_segcblist.h | 88 ++++++------ include/linux/rcupdate.h | 62 ++++++++- include/linux/srcu.h | 35 +++++ kernel/pid_namespace.c | 17 --- kernel/rcu/rcuscale.c | 1 + kernel/rcu/rcutorture.c | 49 ++++--- kernel/rcu/refscale.c | 1 + kernel/rcu/srcutiny.c | 3 +- kernel/rcu/srcutree.c | 13 +- kernel/rcu/sync.c | 12 +- kernel/rcu/tasks.h | 26 ++-- kernel/rcu/tree.c | 92 +++++++++---- kernel/rcu/tree.h | 2 +- kernel/rcu/tree_exp.h | 24 +++- kernel/rcu/tree_nocb.h | 147 ++++++--------------- kernel/rcu/tree_plugin.h | 14 +- kernel/rcu/tree_stall.h | 4 +- kernel/sched/core.c | 14 +- tools/rcu/rcu-updaters.sh | 52 ++++++++ 24 files changed, 439 insertions(+), 278 deletions(-) create mode 100755 tools/rcu/rcu-updaters.sh