Skip to content

Updates to the formal memory model

Paul E. McKenney linux-arch lkml 1 version Applied

Status from this message: Applied this and the other two series to the locking tree, thanks Paul!

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest19 patches 2 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/19tools/memory-model: Rename link and rcu-path to rcu-link and rbtools/memory-model/Documentation/explanation.txt tools/memory-model/linux-kernel.cat+55 -540 replies
2/19tools/memory-model: Redefine rb in terms of rcu-fencetools/memory-model/Documentation/explanation.txt tools/memory-model/linux-kernel.cat+129 -720 replies
3/19tools/memory-model: Update required version of herdtools7tools/memory-model/README+1 -10 replies
4/19tools/memory-model: Fix cheat sheet typotools/memory-model/Documentation/cheatsheet.txt+1 -10 replies
5/19tools/memory-order: Improve key for SELF and SVtools/memory-model/Documentation/cheatsheet.txt+2 -10 replies
6/19tools/memory-order: smp_mb__after_atomic() orders later RMW operationstools/memory-model/Documentation/cheatsheet.txt+1 -10 replies
7/19tools/memory-model: Model 'smp_store_mb()'tools/memory-model/linux-kernel.def+1 -00 replies
8/19tools/memory-model: Fix coding style in 'linux-kernel.def'tools/memory-model/linux-kernel.def+14 -140 replies
9/19tools/memory-model: Add scripts to test memory modeltools/memory-model/litmus-tests/.gitignore tools/memory-model/scripts/checkalllitmus.sh tools/memory-model/scripts/checklitmus.sh+160 -00 replies
10/19tools/memory-model: Add model support for spin_is_lockedtools/memory-model/linux-kernel.def tools/memory-model/litmus-tests/MP+polockmbonce+poacquiresilsil.litmus tools/memory-model/litmus-tests/MP+polockonce+poacquiresilsil.litmus +2 more+129 -40 replies
11/19tools/memory-model: Flag "cumulativity" and "propagation" teststools/memory-model/litmus-tests/IRIW+mbonceonces+OnceOnce.litmus tools/memory-model/litmus-tests/README tools/memory-model/litmus-tests/WRC+pooncerelease+rmbonceonce+Once.litmus+10 -50 replies
12/19tools/memory-model: Remove duplicated code from lock.cattools/memory-model/lock.cat+6 -220 replies
13/19tools/memory-model: Improve comments in lock.cattools/memory-model/lock.cat+36 -150 replies
14/19tools/memory-model: Improve mixed-access checking in lock.cattools/memory-model/lock.cat+11 -110 replies
15/19tools/memory-model: Remove out-of-date comments and code from lock.cattools/memory-model/lock.cat+6 -90 replies
16/19tools/memory-model: Fix coding style in 'lock.cat'tools/memory-model/lock.cat+14 -140 replies
17/19MAINTAINERS: Update e-mail address for Andrea ParriMAINTAINERS+1 -10 replies
18/19tools/memory-model: Update ASPLOS informationtools/memory-model/Documentation/references.txt tools/memory-model/linux-kernel.bell tools/memory-model/linux-kernel.cat +1 more+12 -110 replies
19/19tools/memory-model: Add reference for 'Simplifying ARM concurrency'tools/memory-model/Documentation/references.txt+6 -00 replies

Reviews trailers per patch

7 of 19 patches have a Reviewed-by or Acked-by.

PatchAndrea ParriAlan SternBoqun Feng
1/19A-b
2/19R-b R-b
3/19
4/19
5/19A-b
6/19A-b
7/19A-b
8/19
9/19
10/19R-b
11/19A-b
12/19T-b
13/19T-b
14/19T-b
15/19T-b
16/19
17/19
18/19
19/19

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

Read the v1 thread

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

Hello!

This series contains updates to the Linux kernel's formal memory model in tools/memory-model. These are ready for inclusion into -tip.

1. Rename LKMM's "link" and "rcu-path" relations to "rcu-link"
and "rb", respectively, courtesy of Alan Stern.

2. Redefine LKMM's "rb" relation in terms of rcu-fence in order
to match the structure of LKMM's other strong fences, courtesy of Alan Stern.

3. Update required version of herdtools7, courtesy of Akira Yokosawa.

4. Fix cheat sheet typo: "RWM" should be "RMW", courtesy of Paolo Bonzini.

5. Improve cheatsheet.txt key for SELF and SV.

6. Fix cheatsheet.txt to note that smp_mb__after_atomic() orders
later RMW operations.

7. Model smp_store_mb(), courtesy of Andrea Parri.

8. Fix coding style in 'linux-kernel.def', courtesy of Andrea Parri.

9. Add scripts to test the memory model.

10. Add model support for spin_is_locked(), courtesy of Luc Maranget.

11. Flag the tests that exercise "cumulativity" and "propagation".

12. Remove duplicated code from lock.cat, courtesy of Alan Stern.

13. Improve comments in lock.cat, courtesy of Alan Stern.

14. Improve mixed-access checking in lock.cat, courtesy of Alan Stern.

15. Remove out-of-date comments and code from lock.cat, which have
been obsoleted by the settled-upon spin_is_locked() semantics, courtesy of Alan Stern.

16. Fix coding style in 'lock.cat', bringing the indentation to
Linux-kernel standard, courtesy of Andrea Parri.

17. Update Andrea Parri's email address in the MAINTAINERS file,
oddly enough courtesy of Andrea Parri. ;-)

18. Update ASPLOS information now that ASPLOS has come and gone,
courtesy of Andrea Parri.

19. Add reference for 'Simplifying ARM concurrency', courtesy
of Andrea Parri.

Thanx, Paul

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

 MAINTAINERS                                                               |    2 
 tools/memory-model/Documentation/cheatsheet.txt                           |    7 
 tools/memory-model/Documentation/explanation.txt                          |  261 +++++-----
 tools/memory-model/Documentation/references.txt                           |   17 
 tools/memory-model/README                                                 |    2 
 tools/memory-model/linux-kernel.bell                                      |    4 
 tools/memory-model/linux-kernel.cat                                       |   53 +-
 tools/memory-model/linux-kernel.def                                       |   34 -
 tools/memory-model/litmus-tests/.gitignore                                |    1 
 tools/memory-model/litmus-tests/IRIW+mbonceonces+OnceOnce.litmus          |    2 
 tools/memory-model/litmus-tests/MP+polockmbonce+poacquiresilsil.litmus    |   35 +
 tools/memory-model/litmus-tests/MP+polockonce+poacquiresilsil.litmus      |   34 +
 tools/memory-model/litmus-tests/README                                    |   19 
 tools/memory-model/litmus-tests/WRC+pooncerelease+rmbonceonce+Once.litmus |    4 
 tools/memory-model/lock.cat                                               |  197 ++++---
 tools/memory-model/scripts/checkalllitmus.sh                              |   73 ++
 tools/memory-model/scripts/checklitmus.sh                                 |   86 +++
 17 files changed, 595 insertions(+), 236 deletions(-)