X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=formal-model%2Fooomem-double-update%2Fmem.spin;h=e033f67cc18ef12d4e9a6c5465c6cbf85dd11341;hb=ba59a0c7b244a0939a2298fc76a9002436ef9674;hp=48c40f19af0abdf966e8f1c3ce4d0c657c87057e;hpb=dfa8abef9f88fd28e232b0eab9a105fc50e71959;p=urcu.git diff --git a/formal-model/ooomem-double-update/mem.spin b/formal-model/ooomem-double-update/mem.spin index 48c40f1..e033f67 100644 --- a/formal-model/ooomem-double-update/mem.spin +++ b/formal-model/ooomem-double-update/mem.spin @@ -1,5 +1,18 @@ /* - * mem.spin: Promela code to validate memory barriers with OOO memory. + * mem.spin: Promela code to validate memory barriers with out-of-order memory + * and out-of-order instruction scheduling. + * + * Algorithm verified : + * + * alpha = 0; + * beta = 0; + * + * Process A Process B + * alpha = 1; x = beta; + * wmb(); rmb(); + * beta = 1; y = alpha; + * + * if x = 1, then y will = 1 when it is read. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by