[pypy-commit] stmgc c8-locking: more doc

arigo noreply at buildbot.pypy.org
Thu Apr 9 13:07:04 CEST 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: c8-locking
Changeset: r1749:d1eed2e7d2a4
Date: 2015-04-09 13:07 +0200
http://bitbucket.org/pypy/stmgc/changeset/d1eed2e7d2a4/

Log:	more doc

diff --git a/c8/LOCKS b/c8/LOCKS
--- a/c8/LOCKS
+++ b/c8/LOCKS
@@ -53,3 +53,19 @@
 - _stm_validate()
 - push_large_overflow_objects_to_other_segments()
 - nursery.c calling synchronize_object_enqueue()
+
+
+
+mutex and conditions
+====================
+
+There is also one global mutex and a few condition codes.  It's
+unclear if these are still the best solution.
+
+The mutex is acquired in stm_start_transaction() and in
+stm_commit_transaction().  The main purpose is to wait for or signal
+the C_SEGMENT_FREE condition code.
+
+The C_AT_SAFE_POINT and C_REQUEST_REMOVED condition codes are used by
+synchronize_all_threads().  That's used only in rare cases, for
+example because we want to start a major collection.


More information about the pypy-commit mailing list