Author: Tobias Weber <[email protected]>
Branch: c8-tcp-style-trx-length
Changeset: r2088:43693de1f6ff
Date: 2017-07-04 17:27 +0200
http://bitbucket.org/pypy/stmgc/changeset/43693de1f6ff/
Log: Merge revert aggressive wait and fix check for inevitable breaks
commit signalling
diff --git a/c8/stm/core.c b/c8/stm/core.c
--- a/c8/stm/core.c
+++ b/c8/stm/core.c
@@ -1638,7 +1638,7 @@
void _stm_become_inevitable(const char *msg)
{
- int num_waits = NB_SEGMENTS; //0; // TODO try disable
+ int num_waits = 0;
timing_become_inevitable();
@@ -1681,7 +1681,8 @@
}
s_mutex_unlock();
goto retry_from_start;
- } else {
+ }
+ else {
EMIT_WAIT_DONE();
if (!_validate_and_turn_inevitable()) {
goto retry_from_start;
diff --git a/c8/stm/nursery.c b/c8/stm/nursery.c
--- a/c8/stm/nursery.c
+++ b/c8/stm/nursery.c
@@ -550,7 +550,7 @@
pseg->pub.nursery_mark -= nursery_used;
if (pseg->commit_if_not_atomic
- && pseg->transaction_state == TS_INEVITABLE
+ // && pseg->transaction_state == TS_INEVITABLE // TODO why does this
break the mechanism?
&& pseg->pub.running_thread->self_or_0_if_atomic != 0) {
// transaction is inevitable, not atomic, and commit has been
signalled by waiting thread: commit immediately
pseg->pub.nursery_mark = 0;
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit