Skip to content

Updates to the formal memory model

Paul E. McKenney linux-arch lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest14 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/14tools/memory-model: Add litmus test for full multicopy atomicitytools/memory-model/litmus-tests/README tools/memory-model/litmus-tests/SB+rfionceonce-poonceonces.litmus+41 -00 replies
2/14tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce nametools/memory-model/litmus-tests/ISA2+pooncelock+pooncelock+pombonce.litmus+1 -10 replies
3/14MAINTAINERS: Add Daniel Lustig as an LKMM reviewerMAINTAINERS+1 -00 replies
4/14locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering exampleDocumentation/translations/ko_KR/memory-barriers.txt+11 -110 replies
5/14tools/memory-model: Remove ACCESS_ONCE() from recipestools/memory-model/Documentation/recipes.txt+2 -20 replies
6/14tools/memory-model: Remove ACCESS_ONCE() from modeltools/memory-model/linux-kernel.bell+1 -10 replies
7/14tools/memory-model: Make scripts executabletools/memory-model/scripts/checkalllitmus.sh tools/memory-model/scripts/checklitmus.sh+2 -20 replies
8/14docs: atomic_ops: Describe atomic_set as a write operationDocumentation/core-api/atomic_ops.rst+1 -10 replies
9/14tools/memory-model: Add informal LKMM documentation to MAINTAINERSMAINTAINERS+5 -00 replies
10/14sched: Use smp_mb() in wake_woken_function()kernel/sched/wait.c+21 -260 replies
11/14locking: Clarify requirements for smp_mb__after_spinlock()include/linux/spinlock.h kernel/sched/core.c+57 -370 replies
12/14doc: Update wake_up() & co. memory-barrier guaranteesDocumentation/memory-barriers.txt include/linux/sched.h kernel/sched/completion.c +2 more+49 -440 replies
13/14memory-model/Documentation: Fix typo, smb->smptools/memory-model/Documentation/explanation.txt+1 -10 replies
14/14tools/memory-model: Rename litmus tests to comply to norm7tools/memory-model/Documentation/recipes.txt tools/memory-model/README tools/memory-model/litmus-tests/IRIW+fencembonceonces+OnceOnce.litmus +8 more+30 -300 replies

Reviews trailers per patch

All 14 patches have a Reviewed-by or Acked-by.

PatchByungchul ParkAlan SternPeter Zijlstra (Intel)Akira YokosawaAndrea ParriDaniel Lustig
1/14A-b A-b
2/14A-b
3/14A-b A-b
4/14A-b
5/14A-b
6/14A-b
7/14A-b
8/14R-b
9/14A-b
10/14A-b
11/14A-b
12/14A-b
13/14A-b
14/14A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 6 reviewers.

Read the v1 thread

Cover letter [PATCH memory-model 0/14] Updates to the formal memory model

Hello!

This series contains updates to the Linux kernel's formal memory model in tools/memory-model, along with corresponding changes in documentation and Linux-kernel code. These patches are ready for inclusion into -tip.

1. Add a litmus test for full multi-copy atomicity.

2. Fix the name of the ISA2+pooncelock+pooncelock+pombonce litmus test.

3. Add Daniel Lustig as an LKMM reviewer, with focus on RISC-V,
courtesy of Palmer Dabbelt.

4. Update Korean translation to fix broken DMA vs. MMIO ordering
example, courtesy of SeongJae Park with edits suggested by Byungchul Park.

5-6. Remove the now-obsolete ACCESS_ONCE() from recipes and the model
itself, courtesy of Mark Rutland.

7. Make regression-test scripts executable.

8. Describe atomic_set as a write operation, courtesy of Jonathan
Neuschäfer.

9. Add informal LKMM documentation to MAINTAINERS.

10. Use smp_mb() in wake_woken_function(), courtesy of Andrea Parri.

11. Clarify requirements for smp_mb__after_spinlock(), courtesy of
Andrea Parri.

12. Update wake_up() and friends' memory-barrier guarantees,
courtesy of Andrea Parri.

13. Fix "smb_wmb()" typo (should be "smp_wmb()"), courtesy of
Yauheni Kaliuta.

14. Rename litmus tests to comply to norm7, courtesy of Andrea Parri.

Thanx, Paul

------------------------------------------------------------------------

 Documentation/core-api/atomic_ops.rst                                                      |    2 
 Documentation/memory-barriers.txt                                                          |   43 +++---
 Documentation/translations/ko_KR/memory-barriers.txt                                       |   22 +--
 MAINTAINERS                                                                                |    6 
 include/linux/sched.h                                                                      |    4 
 include/linux/spinlock.h                                                                   |   53 +++++--
 kernel/sched/completion.c                                                                  |    8 -
 kernel/sched/core.c                                                                        |   71 ++++------
 kernel/sched/wait.c                                                                        |   55 +++----
 tools/memory-model/Documentation/explanation.txt                                           |    2 
 tools/memory-model/Documentation/recipes.txt                                               |   12 -
 tools/memory-model/README                                                                  |   20 +-
 tools/memory-model/linux-kernel.bell                                                       |    2 
 tools/memory-model/litmus-tests/IRIW+fencembonceonces+OnceOnce.litmus                      |    2 
 tools/memory-model/litmus-tests/ISA2+pooncelock+pooncelock+pombonce.litmus                 |    2 
 tools/memory-model/litmus-tests/LB+fencembonceonce+ctrlonceonce.litmus                     |    2 
 tools/memory-model/litmus-tests/MP+fencewmbonceonce+fencermbonceonce.litmus                |    2 
 tools/memory-model/litmus-tests/R+fencembonceonces.litmus                                  |    2 
 tools/memory-model/litmus-tests/README                                                     |   25 ++-
 tools/memory-model/litmus-tests/S+fencewmbonceonce+poacquireonce.litmus                    |    2 
 tools/memory-model/litmus-tests/SB+fencembonceonces.litmus                                 |    2 
 tools/memory-model/litmus-tests/SB+rfionceonce-poonceonces.litmus                          |   32 ++++
 tools/memory-model/litmus-tests/WRC+pooncerelease+fencermbonceonce+Once.litmus             |    2 
 tools/memory-model/litmus-tests/Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus |    2 
 tools/memory-model/scripts/checkalllitmus.sh                                               |    2 
 tools/memory-model/scripts/checklitmus.sh                                                  |    2 
 26 files changed, 223 insertions(+), 156 deletions(-)