]>
Commit | Line | Data |
---|---|---|
a591890c JFG |
1 | ============ |
2 | LITMUS TESTS | |
3 | ============ | |
4 | ||
cdaac9d6 AY |
5 | Each subdirectory contains litmus tests that are typical to describe the |
6 | semantics of respective kernel APIs. | |
7 | For more information about how to "run" a litmus test or how to generate | |
8 | a kernel test module based on a litmus test, please see | |
9 | tools/memory-model/README. | |
10 | ||
11 | ||
12 | atomic (/atomic derectory) | |
13 | -------------------------- | |
14 | ||
15 | Atomic-RMW+mb__after_atomic-is-stronger-than-acquire.litmus | |
16 | Test that an atomic RMW followed by a smp_mb__after_atomic() is | |
17 | stronger than a normal acquire: both the read and write parts of | |
18 | the RMW are ordered before the subsequential memory accesses. | |
19 | ||
20 | Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmus | |
21 | Test that atomic_set() cannot break the atomicity of atomic RMWs. | |
5ef0a07a | 22 | NOTE: Require herd7 7.56 or later which supports "(void)expr". |
cdaac9d6 AY |
23 | |
24 | ||
a591890c JFG |
25 | RCU (/rcu directory) |
26 | -------------------- | |
27 | ||
c425fb5f JFG |
28 | MP+onceassign+derefonce.litmus (under tools/memory-model/litmus-tests/) |
29 | Demonstrates the use of rcu_assign_pointer() and rcu_dereference() to | |
30 | ensure that an RCU reader will not see pre-initialization garbage. | |
31 | ||
a591890c JFG |
32 | RCU+sync+read.litmus |
33 | RCU+sync+free.litmus | |
34 | Both the above litmus tests demonstrate the RCU grace period guarantee | |
35 | that an RCU read-side critical section can never span a grace period. |