sched: Prevent balance_push() on remote runqueues
[linux-2.6-microblaze.git] / Documentation / litmus-tests / README
1 ============
2 LITMUS TESTS
3 ============
4
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.
22     NOTE: Require herd7 7.56 or later which supports "(void)expr".
23
24
25 RCU (/rcu directory)
26 --------------------
27
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
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.