summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-04-23 23:20:48 -0400
committerBen Gamari <ben@smart-cactus.org>2020-04-23 23:50:15 -0400
commit3997b162f2a4ce5efd54d60c571168c63b329511 (patch)
treef66ba3baf70fadcf5724db91ab6f908ff9a1204f
parentaf13d8a2433f4dc6bdeb45f9621a3d284f54fca6 (diff)
downloadhaskell-wip/nonmoving-census.tar.gz
users guide: Add documentation for non-moving GC eventswip/nonmoving-census
-rw-r--r--docs/users_guide/eventlog-formats.rst79
1 files changed, 79 insertions, 0 deletions
diff --git a/docs/users_guide/eventlog-formats.rst b/docs/users_guide/eventlog-formats.rst
index f50285890a..f21d45fb6b 100644
--- a/docs/users_guide/eventlog-formats.rst
+++ b/docs/users_guide/eventlog-formats.rst
@@ -676,3 +676,82 @@ A variable-length packet encoding a profile sample.
TODO
+.. _nonmoving-gc-events:
+
+Non-moving GC event output
+--------------------------
+
+These events mark various stages of the
+:rts-flag:`non-moving collection <--nonmoving-gc>` lifecycle. These are enabled
+with the ``+RTS -lg`` event-set.
+
+.. event-type:: CONC_MARK_BEGIN
+
+ :tag: 200
+ :length: fixed
+
+ Marks the beginning of marking by the concurrent collector.
+
+.. event-type:: CONC_MARK_END
+
+ :tag: 201
+ :length: fixed
+
+ Marks the end of marking by the concurrent collector.
+
+.. event-type:: CONC_SYNC_BEGIN
+
+ :tag: 202
+ :length: fixed
+
+ Marks the beginning of the concurrent garbage collector's
+ post-mark synchronization phase.
+
+.. event-type:: CONC_SYNC_END
+
+ :tag: 203
+ :length: fixed
+
+ Marks the end of the concurrent garbage collector's
+ post-mark synchronization phase.
+
+.. event-type:: CONC_SWEEP_BEGIN
+
+ :tag: 204
+ :length: fixed
+
+ Marks the beginning of the concurrent garbage collector's
+ sweep phase.
+
+.. event-type:: CONC_SWEEP_END
+
+ :tag: 205
+ :length: fixed
+
+ Marks the end of the concurrent garbage collector's
+ sweep phase.
+
+.. event-type:: CONC_UPD_REM_SET_FLUSH
+
+ :tag: 206
+ :length: fixed
+
+ Marks a capability flushing its local update remembered set
+ accumulator.
+
+Non-moving heap census
+~~~~~~~~~~~~~~~~~~~~~~
+
+The non-moving heap census events (enabled with the ``+RTS -ln`` event-set) are
+intended to provide insight into fragmentation of the non-moving heap.
+
+.. event-type:: NONMOVING_HEAP_CENSUS
+
+ :tag: 207
+ :length: fixed
+ :field Word8: base-2 logarithm of *blk_sz*.
+ :field Word32: number of active segments.
+ :field Word32: number of filled segments.
+ :field Word32: number of live blocks.
+
+ Describes the occupancy of the *blk_sz* sub-heap.