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