Hi Linus, Please pull the latest RCU git tree from: git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git tags/rcu.release.v6.14 # HEAD: 4b5c2205526cc1579b840893b98eb7545220f7cf: Merge branches 'fixes.2024.12.14a', 'rcutorture.2024.12.14a', 'srcu.2024.12.14a' and 'torture-test.2024.12.14a' into rcu-merge.2024.12.14a fixes.2024.12.14a: RCU fixes rcutorture.2024.12.14a: Torture-test updates srcu.2024.12.14a: SRCU updates torture-test.2024.12.14a: Adding an extra test, fixes One merge conflicts was detected by linux-next: * https://lore.kernel.org/lkml/20241220133738.1beae531@xxxxxxxxxxxxxxxx/T/ The conflict resolution from linux-next look good to me, plus I make my own resolutions at branch merge/rcu.2024.12.21a for your reference. ---------------------------------------------------------------- RCU pull request for v6.14 This pull request contains the following branches: fixes.2024.12.14a: Misc fixes, check if IRQs are disabled in rcu_exp_need_qs(), instrument KCSAN exclusive-writer assertions, add extra WARN_ON_ONCE() check, set the cpu_no_qs.b.exp under lock, warn if callback enqueued on offline CPU. rcutorture.2024.12.14a: Torture-test updates, add rcutorture.preempt_duration kernel module parameter, make the TREE03 scenario do preemption, improve pooling timeouts for rcu_torture_writer(), improve output of "Failure/close-call rcutorture reader segments", add some reader-state debugging checks, update doc of polled APIs, add extra diagnostics for per-reader-segment preemption. srcu.2024.12.14a: SRCU updates, improve doc for srcu_read_lock() in terms of return value, fix typo in comments, remove redundant GP sequence checks in the srcu_funnel_gp_start. torture-test.2024.12.14a: Add an extra test for sched_clock(), improve testing on unresponsive systems. ---------------------------------------------------------------- Feng Lee (1): srcu: Remove redundant GP sequence checks in srcu_funnel_gp_start Frederic Weisbecker (1): rcu: Report callbacks enqueued on offline CPU blind spot Paul E. McKenney (29): refscale: Add test for sched_clock() torture: Make kvm-remote.sh give up on unresponsive system torture: Add dowarn argument to torture_sched_setaffinity() rcutorture: Add random real-time preemption rcutorture: Make the TREE03 scenario do preemption rcutorture: Decorate failing reader segments with CPU ID rcutorture: Use finer-grained timeouts for rcu_torture_writer() polling rcutorture: Add ->cond_sync_exp_full function to rcu_ops structure rcutorture: Check preemption for failing reader rcutorture: Decorate failing reader segments with last CPU ID rcutorture: Add full read-side contexts to "busted" torture type rcutorture: Pretty-print rcutorture reader segments rcutorture: Make rcutorture_one_extend() check reader state rcutorture: Ignore attempts to test preemption and forward progress rcutorture: Add documentation for recent conditional and polled APIs rcutorture: Add parameters to control polled/conditional wait interval rcutorture: Add preempt_count() to rcutorture_one_extend_check() diagnostics rcutorture: Read CPU ID for decoration protected by both reader types rcutorture: Add per-reader-segment preemption diagnostics rcutorture: Use symbols for SRCU reader flavors rcu: Make rcu_report_exp_cpu_mult() caller acquire lock rcu: Move rcu_report_exp_rdp() setting of ->cpu_no_qs.b.exp under lock rcu: Replace open-coded rcu_exp_need_qs() from rcu_exp_handler() with call rcu: Make preemptible rcu_exp_handler() check idempotency rcu: Add KCSAN exclusive-writer assertions for rdp->cpu_no_qs.b.exp rcu: Add lockdep_assert_irqs_disabled() to rcu_exp_need_qs() MAINTAINERS: Update RCU git tree srcu: Guarantee non-negative return value from srcu_read_lock() srcu: Fix typo s/srcu_check_read_flavor()/__srcu_check_read_flavor()/ Documentation/admin-guide/kernel-parameters.txt | 74 ++++++++++++++++++++ MAINTAINERS | 10 +- Makefile | 2 arch/x86/kernel/cpu/amd.c | 2 include/linux/rcupdate_wait.h | 11 +++ include/linux/srcu.h | 15 ++-- include/linux/srcutree.h | 2 include/linux/torture.h | 2 kernel/bpf/lpm_trie.c | 44 +++++------- kernel/locking/locktorture.c | 6 - kernel/rcu/Kconfig.debug | 15 ++++ kernel/rcu/rcutorture.c | 2 kernel/rcu/refscale.c | 40 ++++++++++- kernel/rcu/srcutree.c | 3 kernel/rcu/tree.c | 3 kernel/rcu/tree_exp.h | 20 +++-- kernel/rcu/tree_plugin.h | 1 kernel/rcu/update.c | 4 - scripts/mod/modpost.c | 2 scripts/package/install-extmod-build | 4 - tools/testing/selftests/bpf/.gitignore | 1 tools/testing/selftests/bpf/Makefile | 2 tools/testing/selftests/bpf/map_tests/lpm_trie_map_basic_ops.c | 10 -- tools/testing/selftests/rcutorture/bin/kvm-remote.sh | 25 +++++- tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot | 1 include/linux/srcu.h | 21 +++-- include/linux/srcutree.h | 8 -- kernel/bpf/lpm_trie.c | 87 +++++++++++++++--------- kernel/rcu/Kconfig.debug | 16 ++++ kernel/rcu/rcutorture.c | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------- kernel/rcu/srcutree.c | 5 - kernel/rcu/tree_exp.h | 128 ++++++++++++++++++++++------------- kernel/rcu/tree_plugin.h | 1 tools/testing/selftests/bpf/map_tests/lpm_trie_map_basic_ops.c | 395 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 37 files changed, 1033 insertions(+), 235 deletions(-)