Re: [PATCH v4 0/2] Documentation/litmus-tests: Add SRCU fastpath litmus tests

From: Paul E. McKenney

Date: Mon Sep 28 2026 - 19:09:21 EST


On Wed, Sep 16, 2026 at 05:16:11PM +0800, Kunwu Chan wrote:
> This series moves the SRCU fastpath litmus tests from
> tools/memory-model/litmus-tests/ to Documentation/litmus-tests/srcu/,
> as suggested by Paul McKenney.
>
> This series splits the two litmus-test patches from the earlier
> [PATCH 00/13] srcu: Round out atomic SRCU support series:
> https://lore.kernel.org/rcu/20260907075829.2073224-1-kunwu.chan@xxxxxxxxx/
>
> The two tests verify the memory ordering required by the reader-free
> synchronize_srcu_atomic() fastpath: the grace-period anchor must be
> ordered before the per-CPU lock-counter scan.
>
> Patch 1 verifies that the anchor-before-scan ordering forbids a reader
> from being missed by the scan, while patch 2 shows that reversing the
> ordering permits the problematic outcome.

Queued for testing and further review, thank you!

Thanx, Paul

> Changes in v4:
> - Remove the smp_mb() and critical-section write from P1,
> keep litmus tests minimal, as pointed out by Akira Yokosawa.
> - v3: https://lore.kernel.org/all/20260912024225.2872265-1-kunwu.chan@xxxxxxxxx/
>
> Changes in v3:
> - Add a critical-section write after the smp_mb() in P1 of both
> litmus tests, so the barrier properly models the lock-increment
> to critical-section ordering in __srcu_read_lock(). The smp_mb()
> was previously vacuous because P1 had no subsequent memory access.
> Suggested by Akira Yokosawa.
> - Adjust indentation of the SRCU entries in litmus-tests/README.
> -v2: https://lore.kernel.org/all/20260912024225.2872265-1-kunwu.chan@xxxxxxxxx/
>
> Changes in v2:
> - Use a filter for the P0 scan result, as suggested by Paul McKenney.
>
> Tested with herd7 7.58 using linux-kernel.cfg.
>
> Kunwu Chan (2):
> Documentation/litmus-tests: Add SRCU fastpath anchor-before-scan test
> Documentation/litmus-tests: Add SRCU fastpath scan-before-anchor test
>
> Documentation/litmus-tests/README | 19 +++++++
> .../SRCU-fastpath-anchor-before-scan.litmus | 55 +++++++++++++++++++
> .../SRCU-fastpath-scan-before-anchor.litmus | 52 ++++++++++++++++++
> 3 files changed, 126 insertions(+)
> create mode 100644 Documentation/litmus-tests/srcu/SRCU-fastpath-anchor-before-scan.litmus
> create mode 100644 Documentation/litmus-tests/srcu/SRCU-fastpath-scan-before-anchor.litmus
>
> --
> 2.43.0
>