~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/litmus-tests/README

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/litmus-tests/README (Version linux-6.12-rc7) and /Documentation/litmus-tests/README (Version linux-6.6.60)


  1 ============                                        1 ============
  2 LITMUS TESTS                                        2 LITMUS TESTS
  3 ============                                        3 ============
  4                                                     4 
  5 Each subdirectory contains litmus tests that a      5 Each subdirectory contains litmus tests that are typical to describe the
  6 semantics of respective kernel APIs.                6 semantics of respective kernel APIs.
  7 For more information about how to "run" a litm      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, p      8 a kernel test module based on a litmus test, please see
  9 tools/memory-model/README.                          9 tools/memory-model/README.
 10                                                    10 
 11                                                    11 
 12 atomic (/atomic directory)                         12 atomic (/atomic directory)
 13 --------------------------                         13 --------------------------
 14                                                    14 
 15 Atomic-RMW+mb__after_atomic-is-stronger-than-a     15 Atomic-RMW+mb__after_atomic-is-stronger-than-acquire.litmus
 16     Test that an atomic RMW followed by a smp_     16     Test that an atomic RMW followed by a smp_mb__after_atomic() is
 17     stronger than a normal acquire: both the r     17     stronger than a normal acquire: both the read and write parts of
 18     the RMW are ordered before the subsequenti     18     the RMW are ordered before the subsequential memory accesses.
 19                                                    19 
 20 Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmu     20 Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmus
 21     Test that atomic_set() cannot break the at     21     Test that atomic_set() cannot break the atomicity of atomic RMWs.
 22     NOTE: Require herd7 7.56 or later which su     22     NOTE: Require herd7 7.56 or later which supports "(void)expr".
 23                                                    23 
 24 cmpxchg-fail-ordered-1.litmus                  << 
 25     Demonstrate that a failing cmpxchg() opera << 
 26     when followed by smp_mb__after_atomic().   << 
 27                                                << 
 28 cmpxchg-fail-ordered-2.litmus                  << 
 29     Demonstrate that a failing cmpxchg() opera << 
 30     operation when followed by smp_mb__after_a << 
 31                                                << 
 32 cmpxchg-fail-unordered-1.litmus                << 
 33     Demonstrate that a failing cmpxchg() opera << 
 34     full barrier.                              << 
 35                                                << 
 36 cmpxchg-fail-unordered-2.litmus                << 
 37     Demonstrate that a failing cmpxchg() opera << 
 38     acquire operation.                         << 
 39                                                << 
 40                                                << 
 41 locking (/locking directory)                   << 
 42 ----------------------------                   << 
 43                                                << 
 44 DCL-broken.litmus                              << 
 45     Demonstrates that double-checked locking n << 
 46     the obvious lock acquisitions and releases << 
 47                                                << 
 48 DCL-fixed.litmus                               << 
 49     Demonstrates corrected double-checked lock << 
 50     smp_store_release() and smp_load_acquire() << 
 51     obvious lock acquisitions and releases.    << 
 52                                                << 
 53 RM-broken.litmus                               << 
 54     Demonstrates problems with "roach motel" l << 
 55     freely moved into lock-based critical sect << 
 56     shows how to use the "filter" clause to di << 
 57     would be excluded by other code not modele << 
 58     Note also that this "roach motel" optimiza << 
 59     physically moving P1()'s two reads from x  << 
 60                                                << 
 61     What is a roach motel?  This is from an ol << 
 62     a cockroach trap, much later featured in o << 
 63     Black" movies.  "The roaches check in.  Th << 
 64                                                << 
 65 RM-fixed.litmus                                << 
 66     The counterpart to RM-broken.litmus, showi << 
 67     x safely outside of the critical section.  << 
 68                                                << 
 69                                                    24 
 70 RCU (/rcu directory)                               25 RCU (/rcu directory)
 71 --------------------                               26 --------------------
 72                                                    27 
 73 MP+onceassign+derefonce.litmus (under tools/me     28 MP+onceassign+derefonce.litmus (under tools/memory-model/litmus-tests/)
 74     Demonstrates the use of rcu_assign_pointer     29     Demonstrates the use of rcu_assign_pointer() and rcu_dereference() to
 75     ensure that an RCU reader will not see pre     30     ensure that an RCU reader will not see pre-initialization garbage.
 76                                                    31 
 77 RCU+sync+read.litmus                               32 RCU+sync+read.litmus
 78 RCU+sync+free.litmus                               33 RCU+sync+free.litmus
 79     Both the above litmus tests demonstrate th     34     Both the above litmus tests demonstrate the RCU grace period guarantee
 80     that an RCU read-side critical section can     35     that an RCU read-side critical section can never span a grace period.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php