[pypy-commit] stmgc c8-locking: Two extra points (thanks remi)

arigo noreply at buildbot.pypy.org
Thu Apr 9 16:01:40 CEST 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: c8-locking
Changeset: r1751:dc7653c95182
Date: 2015-04-09 16:02 +0200
http://bitbucket.org/pypy/stmgc/changeset/dc7653c95182/

Log:	Two extra points (thanks remi)

diff --git a/c8/LOCKS b/c8/LOCKS
--- a/c8/LOCKS
+++ b/c8/LOCKS
@@ -34,6 +34,12 @@
 the current segment modification_lock is also acquired briefly
 whenever we change our segment's 'modified_old_objects'.
 
+_validate_and_attach() needs to have its own segment's
+modification_lock *around* the compare-and-swap, so that
+_stm_validate() sees either the commit not done and the backup copies
+still in modified_old_objects, or the commit done and no backup copies
+any more.
+
 
 
 privatization_lock
@@ -70,6 +76,9 @@
 synchronize_all_threads().  That's used only in rare cases, for
 example because we want to start a major collection.
 
+The mutex also needs to be acquired for rewind_longjmp's setjmp() and
+longjmp() equivalent.
+
 
 
 usleep loop


More information about the pypy-commit mailing list