Author: Tobias Weber <[email protected]>
Branch: c8-adaptive-trx-length
Changeset: r2049:68dab8f6465e
Date: 2017-04-29 16:25 +0200
http://bitbucket.org/pypy/stmgc/changeset/68dab8f6465e/
Log: Implement logging of adaptive mode
diff --git a/c8/stm/nursery.c b/c8/stm/nursery.c
--- a/c8/stm/nursery.c
+++ b/c8/stm/nursery.c
@@ -28,6 +28,16 @@
LARGE_FILL_MARK_NURSERY_BYTES - DEFAULT_FILL_MARK_NURSERY_BYTES;
stm_fill_mark_nursery_bytes =
LARGE_FILL_MARK_NURSERY_BYTES - (relative_conflicts * max_reduction);
+ if (timing_enabled()) {
+ struct timespec relative_length = {
+ .tv_sec = (int)relative_conflicts,
+ .tv_nsec = (int)(fmod(relative_conflicts, 1) * 1000000000),
+ };
+ stm_duration_payload(relative_length);
+ stmcb_timing_event(
+ STM_SEGMENT->running_thread,
+ STM_SINGLE_THREAD_MODE_ADAPTIVE,
+ &stm_duration_payload);
}
diff --git a/c8/stmgc.h b/c8/stmgc.h
--- a/c8/stmgc.h
+++ b/c8/stmgc.h
@@ -585,6 +585,8 @@
STM_DURATION_MAJOR_GC_LOG_ONLY,
STM_DURATION_MAJOR_GC_FULL,
+ STM_SINGLE_THREAD_MODE_ADAPTIVE,
+
_STM_EVENT_N
};
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit