diff options
author | Ben Gamari <ben@smart-cactus.org> | 2020-04-23 23:20:48 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-05-03 04:41:33 -0400 |
commit | 02543d5ef9bd7a910fc9fece895780583ab9635a (patch) | |
tree | 82a34a7aa2b9060241d0b4c52c72f98d5a85e98b | |
parent | c560dd07f506810eaabae2f582491138aa224819 (diff) | |
download | haskell-02543d5ef9bd7a910fc9fece895780583ab9635a.tar.gz |
users guide: Add documentation for non-moving GC events
-rw-r--r-- | docs/users_guide/eventlog-formats.rst | 79 |
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. |