All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neeraj Upadhyay <Neeraj.Upadhyay@kernel.org>
To: torvalds@linux-foundation.org
Cc: paulmck@kernel.org, joelagnelf@nvidia.com, frederic@kernel.org,
	boqun.feng@gmail.com, urezki@gmail.com,
	qiang.zhang1211@gmail.com, linux-kernel@vger.kernel.org,
	kernel-team@meta.com, rcu@vger.kernel.org,
	Tze-nan.Wu@mediatek.com, a.sadovnikov@ispras.ru
Subject: [GIT PULL] RCU changes for v6.17
Date: Sat, 26 Jul 2025 08:16:05 +0530	[thread overview]
Message-ID: <20250726024605.GA17131@neeraj.linux> (raw)

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@gitolite.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

             reply	other threads:[~2025-07-26  2:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-26  2:46 Neeraj Upadhyay [this message]
2025-07-30 18:11 ` [GIT PULL] RCU changes for v6.17 Linus Torvalds
2025-07-30 19:24   ` Paul E. McKenney
2025-07-30 22:34     ` Linus Torvalds
2025-07-30 22:59       ` Paul E. McKenney
2025-07-30 18:48 ` pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250726024605.GA17131@neeraj.linux \
    --to=neeraj.upadhyay@kernel.org \
    --cc=Tze-nan.Wu@mediatek.com \
    --cc=a.sadovnikov@ispras.ru \
    --cc=boqun.feng@gmail.com \
    --cc=frederic@kernel.org \
    --cc=joelagnelf@nvidia.com \
    --cc=kernel-team@meta.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulmck@kernel.org \
    --cc=qiang.zhang1211@gmail.com \
    --cc=rcu@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=urezki@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.