summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-04-23 23:20:48 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-05-03 04:41:33 -0400
commit02543d5ef9bd7a910fc9fece895780583ab9635a (patch)
tree82a34a7aa2b9060241d0b4c52c72f98d5a85e98b
parentc560dd07f506810eaabae2f582491138aa224819 (diff)
downloadhaskell-02543d5ef9bd7a910fc9fece895780583ab9635a.tar.gz
users guide: Add documentation for non-moving GC events
-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.