[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250726024605.GA17131@neeraj.linux>
Date: Sat, 26 Jul 2025 08:16:05 +0530
From: Neeraj Upadhyay <Neeraj.Upadhyay@...nel.org>
To: torvalds@...ux-foundation.org
Cc: paulmck@...nel.org, joelagnelf@...dia.com, frederic@...nel.org,
boqun.feng@...il.com, urezki@...il.com, qiang.zhang1211@...il.com,
linux-kernel@...r.kernel.org, kernel-team@...a.com,
rcu@...r.kernel.org, Tze-nan.Wu@...iatek.com,
a.sadovnikov@...ras.ru
Subject: [GIT PULL] RCU changes for v6.17
Hello Linus,
When the merge window opens, please pull this RCU update.
The following changes since commit 86731a2a651e58953fc949573895f2fa6d456841:
Linux 6.16-rc3 (2025-06-22 13:30:08 -0700)
are available in the Git repository at:
ssh://git@...olite.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git tags/rcu.release.v6.17
for you to fetch changes up to cc1d1365f0f414f6522378867baa997642a7e6b2:
Merge branches 'rcu-exp.23.07.2025', 'rcu.22.07.2025', 'torture-scripts.16.07.2025', 'srcu.19.07.2025', 'rcu.nocb.18.07.2025' and 'refscale.07.07.2025' into rcu.merge.23.07.2025 (2025-07-23 21:42:20 +0530)
Please note that below patch, which was initially picked for RCU next
testing has been removed, as it gave false positives with RCU torture
test.
https://lore.kernel.org/rcu/20250429134304.3824863-6-frederic@kernel.org/
----------------------------------------------------------------
RCU pull request for v6.17
This pull request contains the following branches:
rcu-exp.23.07.2025
- Protect against early RCU exp quiescent state reporting during exp
grace period initialization.
- Remove superfluous barrier in task unblock path.
- Remove the CPU online quiescent state report optimization, which is
error prone for certain scenarios.
- Add warning for unexpected pending requested expedited quiescent
state on dying CPU.
rcu.22.07.2025
- Robustify rcu_is_cpu_rrupt_from_idle() by using more accurate
indicators of the actual context tracking state of a CPU.
- Handle ->defer_qs_iw_pending field data race.
- Enable rcu_normal_wake_from_gp by default on systems with <= 16 CPUs.
- Fix lockup in rcu_read_unlock() due to recursive irq_exit() calls.
- Refactor expedited handling condition in rcu_read_unlock_special().
- Documentation updates for hotplug and GP init scan ordering,
separation of rcu_state and rnp's gp_seq states, quiescent state
reporting for offline CPUs.
torture-scripts.16.07.2025
- Cleanup and improve scripts : remove superfluous warnings for disabled
tests; better handling of kvm.sh --kconfig arg; suppress some confusing
diagnostics; tolerate bad kvm.sh args; add new diagnostic for build
output; fail allmodconfig testing on warnings.
- Include RCU_TORTURE_TEST_CHK_RDR_STATE config for KCSAN kernels.
- Disable default RCU-tasks and clocksource-wdog testing on arm64.
- Add EXPERT Kconfig option for arm64 KCSAN runs.
- Remove SRCU-lite testing.
rcutorture.16.07.2025
- Start torture writer threads creation after reader threads to handle
race in SRCU-P scenario.
- Add SRCU down_read()/up_read() test.
- Add diagnostics for delayed SRCU up_read(), unmatched up_read(), print
number of up/down readers and the number of such readers which
migrated to other CPU.
- Ignore certain unsupported configurations for trivial RCU test.
- Fix splats in RT kernels due to inaccurate checks for BH-disabled
context.
- Enable checks and logs to capture intentionally exercised unexpected
scenarios (too short readers) for BUSTED test.
- Remove SRCU-lite testing.
srcu.19.07.2025
- Expedite SRCU-fast grace periods.
- Remove SRCU-lite implementation.
- Add guards for SRCU-fast readers.
rcu.nocb.18.07.2025
- Dump NOCB group leader state on stall detection.
- Robustify nocb_cb_kthread pointer accesses.
- Fix delayed execution of hurry callbacks when LAZY_RCU is enabled.
refscale.07.07.2025
- Fix multiplication overflow in "loops" and "nreaders" calculations.
----------------------------------------------------------------
Artem Sadovnikov (1):
refscale: Check that nreaders and loops multiplication doesn't overflow
Frederic Weisbecker (6):
rcu/exp: Protect against early QS report
rcu: Robustify rcu_is_cpu_rrupt_from_idle()
rcu/nocb: Dump gp state even if rdp gp itself is not offloaded
rcu/exp: Remove confusing needless full barrier on task unblock
rcu/exp: Remove needless CPU up quiescent state report
rcu/exp: Warn on QS requested on dying CPU
Joel Fernandes (5):
rcu: Fix rcu_read_unlock() deadloop due to IRQ work
rcu: Refactor expedited handling check in rcu_read_unlock_special()
rcu: Document GP init vs hotplug-scan ordering requirements
rcu: Document separation of rcu_state and rnp's gp_seq
rcu: Document concurrent quiescent state reporting for offline CPUs
Neeraj Upadhyay (AMD) (1):
Merge branches 'rcu-exp.23.07.2025', 'rcu.22.07.2025', 'torture-scripts.16.07.2025', 'srcu.19.07.2025', 'rcu.nocb.18.07.2025' and 'refscale.07.07.2025' into rcu.merge.23.07.2025
Paul E. McKenney (32):
rcutorture: Print only one rtort_pipe_count splat
rcutorture: Start rcu_torture_writer() after rcu_torture_reader()
rcutorture: Make rcutorture_one_extend_check() account for hard IRQs
rcutorture: Add tests for SRCU up/down reader primitives
rcutorture: Pull rcu_torture_updown() loop body into new function
rcutorture: Complain if an ->up_read() is delayed more than 10 seconds
rcutorture: Check for ->up_read() without matching ->down_read()
rcutorture: Check for no up/down readers at task level
rcutorture: Print number of RCU up/down readers and migrations
rcutorture: Drop redundant "insoftirq" parameters
rcutorture: Make Trivial RCU ignore onoff_interval and shuffle_interval
rcutorture: Make BUSTED scenario check and log readers
torture: Suppress torture.sh "Zero time" messages for disabled tests
torture: Permit multiple space characters in kvm.sh --kconfig argument
torture: Make torture.sh KCSAN runs set CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y
torture: Default --no-rcutasksflavors on arm64
torture: Default --no-clocksourcewd on arm64
rcu: Protect ->defer_qs_iw_pending from data race
torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs
torture: Suppress "find" diagnostics from torture.sh --do-none run
torture: Extract testid.txt generation to separate script
torture: Add textid.txt file to --do-allmodconfig and --do-rcu-rust runs
torture: Make torture.sh tolerate runs having bad kvm.sh arguments
torture: Add "ERROR" diagnostic for testing kernel-build output
torture: Make torture.sh --allmodconfig testing fail on warnings
torture: Remove support for SRCU-lite
rcutorture: Remove SRCU-lite scenarios
rcutorture: Remove support for SRCU-lite
srcu: Expedite SRCU-fast grace periods
srcu: Remove SRCU-lite implementation
checkpatch: Remove SRCU-lite deprecation
srcu: Add guards for SRCU-fast readers
Tze-nan Wu (1):
rcu: Fix delayed execution of hurry callbacks
Uladzislau Rezki (Sony) (2):
rcu: Enable rcu_normal_wake_from_gp on small systems
Documentation/kernel-parameters: Update rcu_normal_wake_from_gp doc
Zqiang (2):
rcutorture: Fix rcutorture_one_extend_check() splat in RT kernels
rcu/nocb: Fix possible invalid rdp's->nocb_cb_kthread pointer access
Documentation/RCU/Design/Data-Structures/Data-Structures.rst | 33 ++++++
Documentation/RCU/Design/Requirements/Requirements.rst | 128 +++++++++++++++++++++++
Documentation/admin-guide/kernel-parameters.txt | 3 +-
include/linux/srcu.h | 54 ++--------
include/linux/srcutiny.h | 3 -
include/linux/srcutree.h | 38 -------
kernel/rcu/rcutorture.c | 356 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
kernel/rcu/refscale.c | 42 ++------
kernel/rcu/srcutree.c | 2 +
kernel/rcu/tree.c | 80 ++++++++++++---
kernel/rcu/tree.h | 13 ++-
kernel/rcu/tree_exp.h | 59 ++---------
kernel/rcu/tree_nocb.h | 10 +-
kernel/rcu/tree_plugin.h | 122 ++++++++++++++++++----
kernel/rcu/tree_stall.h | 3 +-
scripts/checkpatch.pl | 2 -
tools/testing/selftests/rcutorture/bin/kvm-build.sh | 2 +-
tools/testing/selftests/rcutorture/bin/kvm.sh | 15 +--
tools/testing/selftests/rcutorture/bin/mktestid.sh | 29 ++++++
tools/testing/selftests/rcutorture/bin/torture.sh | 78 +++++++++++---
tools/testing/selftests/rcutorture/configs/rcu/BUSTED | 3 +
tools/testing/selftests/rcutorture/configs/rcu/CFLIST | 1 -
tools/testing/selftests/rcutorture/configs/rcu/SRCU-L | 10 --
tools/testing/selftests/rcutorture/configs/rcu/SRCU-L.boot | 3 -
24 files changed, 770 insertions(+), 319 deletions(-)
create mode 100755 tools/testing/selftests/rcutorture/bin/mktestid.sh
delete mode 100644 tools/testing/selftests/rcutorture/configs/rcu/SRCU-L
delete mode 100644 tools/testing/selftests/rcutorture/configs/rcu/SRCU-L.boot
Powered by blists - more mailing lists