diff options
| author | Ben Gamari <ben@smart-cactus.org> | 2020-02-20 20:57:48 -0500 |
|---|---|---|
| committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-03-05 14:53:12 -0500 |
| commit | ace618cd2294989e783bd453cee88e0e1c0dad77 (patch) | |
| tree | 97d34db5521cf1781e57e786eb41f14087808cf9 /includes/RtsAPI.h | |
| parent | cedd6f3041de6abe64dfa3257bec7730a9dced9f (diff) | |
| download | haskell-ace618cd2294989e783bd453cee88e0e1c0dad77.tar.gz | |
nonmoving-gc: Track time usage of nonmoving marking
Diffstat (limited to 'includes/RtsAPI.h')
| -rw-r--r-- | includes/RtsAPI.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/includes/RtsAPI.h b/includes/RtsAPI.h index 488cab5f3f..3cf02c0d8a 100644 --- a/includes/RtsAPI.h +++ b/includes/RtsAPI.h @@ -151,6 +151,23 @@ typedef struct GCDetails_ { Time cpu_ns; // The time elapsed during GC itself Time elapsed_ns; + + // + // Concurrent garbage collector + // + + // The CPU time used during the post-mark pause phase of the concurrent + // nonmoving GC. + Time nonmoving_gc_sync_cpu_ns; + // The time elapsed during the post-mark pause phase of the concurrent + // nonmoving GC. + Time nonmoving_gc_sync_elapsed_ns; + // The CPU time used during the post-mark pause phase of the concurrent + // nonmoving GC. + Time nonmoving_gc_cpu_ns; + // The time elapsed during the post-mark pause phase of the concurrent + // nonmoving GC. + Time nonmoving_gc_elapsed_ns; } GCDetails; // @@ -241,6 +258,28 @@ typedef struct _RTSStats { // The number of times a GC thread has iterated it's outer loop across all // parallel GCs uint64_t scav_find_work; + + // ---------------------------------- + // Concurrent garbage collector + + // The CPU time used during the post-mark pause phase of the concurrent + // nonmoving GC. + Time nonmoving_gc_sync_cpu_ns; + // The time elapsed during the post-mark pause phase of the concurrent + // nonmoving GC. + Time nonmoving_gc_sync_elapsed_ns; + // The maximum time elapsed during the post-mark pause phase of the + // concurrent nonmoving GC. + Time nonmoving_gc_sync_max_elapsed_ns; + // The CPU time used during the post-mark pause phase of the concurrent + // nonmoving GC. + Time nonmoving_gc_cpu_ns; + // The time elapsed during the post-mark pause phase of the concurrent + // nonmoving GC. + Time nonmoving_gc_elapsed_ns; + // The maximum time elapsed during the post-mark pause phase of the + // concurrent nonmoving GC. + Time nonmoving_gc_max_elapsed_ns; } RTSStats; void getRTSStats (RTSStats *s); |
