* Ensured by STORE_SHARED and LOAD_SHARED.
*/
+ /*
+ * Current RCU formal verification model assumes sequential execution of
+ * the write-side. Add core synchronization instructions. Can be removed
+ * if the formal model is extended to prove that reordering is still
+ * correct.
+ */
+ sync_core(); /* Formal model assumes serialized execution */
+
/*
* Wait for previous parity to be empty of readers.
*/
* Ensured by STORE_SHARED and LOAD_SHARED.
*/
+ sync_core(); /* Formal model assumes serialized execution */
+
switch_next_urcu_qparity(); /* 1 -> 0 */
/*
* Ensured by STORE_SHARED and LOAD_SHARED.
*/
+ sync_core(); /* Formal model assumes serialized execution */
+
/*
* Wait for previous parity to be empty of readers.
*/