Skip to content

RFC LKMM updates for review

Paul E. McKenney linux-arch lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest33 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/33tools/memory-model: Prepare for data-race detectiontools/memory-model/linux-kernel.cat+9 -70 replies
2/33tools/memory-model: Add definitions of plain and marked accessestools/memory-model/linux-kernel.bell tools/memory-model/linux-kernel.cat+14 -70 replies
3/33tools/memory-model: Add data-race detectiontools/memory-model/linux-kernel.bell tools/memory-model/linux-kernel.cat tools/memory-model/linux-kernel.def+51 -10 replies
4/33tools/memory-model: Make scripts be executabletools/memory-model/scripts/checkghlitmus.sh tools/memory-model/scripts/checklitmushist.sh tools/memory-model/scripts/cmplitmushist.sh +5 more+0 -00 replies
5/33Documentation: atomic_t.txt: Explain ordering provided by smp_mb__{before,after}_atomic()Documentation/atomic_t.txt+13 -40 replies
6/33tools/memory-model: Fix comment in MP+poonceonces.litmustools/memory-model/litmus-tests/MP+poonceonces.litmus+1 -10 replies
7/33tools/memory-model: Do not use "herd" to refer to "herd7"tools/memory-model/litmus-tests/README tools/memory-model/lock.cat tools/memory-model/scripts/README +4 more+8 -80 replies
8/33tools/memory-model: Make judgelitmus.sh note timeoutstools/memory-model/scripts/judgelitmus.sh+8 -00 replies
9/33tools/memory-model: Make cmplitmushist.sh note timeoutstools/memory-model/scripts/cmplitmushist.sh+22 -00 replies
10/33tools/memory-model: Make judgelitmus.sh identify bad macrostools/memory-model/scripts/cmplitmushist.sh tools/memory-model/scripts/judgelitmus.sh+39 -40 replies
11/33tools/memory-model: Make judgelitmus.sh detect hard deadlockstools/memory-model/scripts/judgelitmus.sh+8 -00 replies
12/33tools/memory-model: Fix paulmck email address on pre-existing scriptstools/memory-model/scripts/checkalllitmus.sh tools/memory-model/scripts/checklitmus.sh tools/memory-model/scripts/checklitmushist.sh +4 more+7 -70 replies
13/33tools/memory-model: Update parseargs.sh for hardware verificationtools/memory-model/scripts/parseargs.sh+8 -10 replies
14/33tools/memory-model: Make judgelitmus.sh handle hardware verificationstools/memory-model/scripts/README tools/memory-model/scripts/judgelitmus.sh+51 -320 replies
15/33tools/memory-model: Add simpletest.sh to check locking, RCU, and SRCUtools/memory-model/scripts/simpletest.sh+35 -00 replies
16/33tools/memory-model: Fix checkalllitmus.sh commenttools/memory-model/scripts/checkalllitmus.sh+2 -20 replies
17/33tools/memory-model: Hardware checking for check{,all}litmus.shtools/memory-model/scripts/checkalllitmus.sh tools/memory-model/scripts/checklitmus.sh+49 -160 replies
18/33tools/memory-model: Make judgelitmus.sh ransack .litmus.out filestools/memory-model/scripts/judgelitmus.sh+8 -10 replies
19/33tools/memory-model: Split runlitmus.sh out of checklitmus.shtools/memory-model/scripts/checklitmus.sh tools/memory-model/scripts/runlitmus.sh+73 -530 replies
20/33tools/memory-model: Make runlitmus.sh generate .litmus.out for --hwtools/memory-model/scripts/runlitmus.sh+30 -240 replies
21/33tools/memory-model: Move from .AArch64.litmus.out to .litmus.AArch.outtools/memory-model/litmus-tests/.gitignore tools/memory-model/scripts/judgelitmus.sh tools/memory-model/scripts/runlitmus.sh+3 -30 replies
22/33tools/memory-model: Keep assembly-language litmus teststools/memory-model/litmus-tests/.gitignore tools/memory-model/scripts/runlitmus.sh+3 -30 replies
23/33tools/memory-model: Allow herd to deduce CPU typetools/memory-model/scripts/runlitmus.sh+1 -20 replies
24/33tools/memory-model: Make runlitmus.sh check for jingle errorstools/memory-model/scripts/runlitmus.sh+5 -00 replies
25/33tools/memory-model: Add -v flag to jingle7 runstools/memory-model/scripts/runlitmus.sh+3 -20 replies
26/33tools/memory-model: Implement --hw support for checkghlitmus.shtools/memory-model/scripts/checkghlitmus.sh tools/memory-model/scripts/hwfnseg.sh tools/memory-model/scripts/runlitmushist.sh+42 -140 replies
27/33tools/memory-model: Fix scripting --jobs argumenttools/memory-model/scripts/parseargs.sh+1 -10 replies
28/33tools/memory-model: Make checkghlitmus.sh use mselect7tools/memory-model/scripts/checkghlitmus.sh+1 -10 replies
29/33tools/memory-model: Make history-check scripts use mselect7tools/memory-model/scripts/initlitmushist.sh tools/memory-model/scripts/newlitmushist.sh+2 -20 replies
30/33tools/memory-model: Add "--" to parseargs.sh for additional argumentstools/memory-model/scripts/parseargs.sh+5 -10 replies
31/33tools/memory-model: Repair parseargs.sh header commenttools/memory-model/scripts/parseargs.sh+1 -10 replies
32/33tools/memory-model: Add checktheselitmus.sh to run specified litmus teststools/memory-model/scripts/README tools/memory-model/scripts/checktheselitmus.sh+51 -00 replies
33/33tools/memory-model: Add data-race capabilities to judgelitmus.shtools/memory-model/scripts/judgelitmus.sh+19 -10 replies

Reviews trailers per patch

4 of 33 patches have a Reviewed-by or Acked-by.

PatchAndrea Parri
1/33R-b
2/33R-b
3/33R-b
4/33
5/33A-b
6/33
7/33
8/33
9/33
10/33
11/33
12/33
13/33
14/33
15/33
16/33
17/33
18/33
19/33
20/33
21/33
22/33
23/33
24/33
25/33
26/33
27/33
28/33
29/33
30/33
31/33
32/33
33/33

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH RFC memory-model 0/33] LKMM updates for review

Hello!

This series contains LKMM updates:

1-3. Add plain C-language accesses to the model, including data-race
detection, courtesy of Alan Stern.

4. Make scripts be executable.

5. Explain ordering provided by smp_mb__{before,after}_atomic(),
courtesy of Alan Stern.

6. Fix comment in MP+poonceonces.litmus, courtesy of Andrea Parri.

7. Make documentation referencing "herd" instead reference the
actual name of the command, "herd7", courtesy of Andrea Parri.

8-9. Make LKMM scripts note timeouts instead of just saying that
the validation was bad.

10. Make LKMM scripts identify litmus-test typos and use of
unsupported primitives instead of just saying that the validation was bad.

11. Make LKMM scripts detect unconditional deadlocks.

12. Fix email address on LKMM scripts.

13-33. Leverage Boqun Feng's C-to-assembly litmus-test-translation
capability to allow verifying LKMM against hardware models for checkalllitmus.sh. This is a work in progress.

Thanx, Paul

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

 Documentation/atomic_t.txt                            |   17 +-
 tools/memory-model/linux-kernel.bell                  |    6 
 tools/memory-model/linux-kernel.cat                   |   82 ++++++++--
 tools/memory-model/linux-kernel.def                   |    1 
 tools/memory-model/litmus-tests/.gitignore            |    4 
 tools/memory-model/litmus-tests/MP+poonceonces.litmus |    2 
 tools/memory-model/litmus-tests/README                |    2 
 tools/memory-model/lock.cat                           |    2 
 tools/memory-model/scripts/README                     |   20 +-
 tools/memory-model/scripts/checkalllitmus.sh          |   31 +--
 tools/memory-model/scripts/checkghlitmus.sh           |   11 -
 tools/memory-model/scripts/checklitmus.sh             |  103 +++++--------
 tools/memory-model/scripts/checklitmushist.sh         |    2 
 tools/memory-model/scripts/checktheselitmus.sh        |   43 +++++
 tools/memory-model/scripts/cmplitmushist.sh           |   53 ++++++
 tools/memory-model/scripts/hwfnseg.sh                 |   20 ++
 tools/memory-model/scripts/initlitmushist.sh          |    2 
 tools/memory-model/scripts/judgelitmus.sh             |  136 +++++++++++++----
 tools/memory-model/scripts/newlitmushist.sh           |    4 
 tools/memory-model/scripts/parseargs.sh               |   23 ++
 tools/memory-model/scripts/runlitmus.sh               |  142 ++++++++++++++----
 tools/memory-model/scripts/runlitmushist.sh           |   32 ++--
 tools/memory-model/scripts/simpletest.sh              |   35 ++++
 23 files changed, 573 insertions(+), 200 deletions(-)