[PATCH v3 0/2] Documentation/litmus-tests: Add SRCU fastpath litmus tests
From: Kunwu Chan
Date: Mon Sep 14 2026 - 10:40:56 EST
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.
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 | 21 +++++++
.../SRCU-fastpath-anchor-before-scan.litmus | 58 +++++++++++++++++++
.../SRCU-fastpath-scan-before-anchor.litmus | 56 ++++++++++++++++++
3 files changed, 135 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