X-Git-Url: https://git.lttng.org/?p=urcu.git;a=blobdiff_plain;f=formal-model%2Fooomem-double-update%2Fmem.spin;h=e033f67cc18ef12d4e9a6c5465c6cbf85dd11341;hp=48c40f19af0abdf966e8f1c3ce4d0c657c87057e;hb=27afafe29f0395b9f70e7a7e71605598ae3015d3;hpb=d372f56172a6871969f88a524a65f9c40f358900 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