diff options
author | Mikolaj <mikolaj.konarski@gmail.com> | 2012-03-09 14:22:06 +0100 |
---|---|---|
committer | Duncan Coutts <duncan@well-typed.com> | 2012-04-04 19:10:45 +0100 |
commit | 598109eb0cc2271c33e23b4ddb12123991273f61 (patch) | |
tree | 3399a0853bea39cd5ef5e66408ff949937446233 /rts/Stats.h | |
parent | 1f809ce6df1dca54b977c6cac8f2b1c745683cf9 (diff) | |
download | haskell-598109eb0cc2271c33e23b4ddb12123991273f61.tar.gz |
Fix the timestamps in GC_START and GC_END events on the GC-initiating cap
There was a discrepancy between GC times reported in +RTS -s
and the timestamps of GC_START and GC_END events on the cap,
on which +RTS -s stats for the given GC are based.
This is fixed by posting the events with exactly the same timestamp
as generated for the stat calculation. The calls posting the events
are moved too, so that the events are emitted close to the time instant
they claim to be emitted at. The GC_STATS_GHC was moved, too, ensuring
it's emitted before the moved GC_END on all caps, which simplifies tools code.
Diffstat (limited to 'rts/Stats.h')
-rw-r--r-- | rts/Stats.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/Stats.h b/rts/Stats.h index 63a1801236..baabd26553 100644 --- a/rts/Stats.h +++ b/rts/Stats.h @@ -18,7 +18,7 @@ struct gc_thread_; void stat_startInit(void); void stat_endInit(void); -void stat_startGC(struct gc_thread_ *gct); +void stat_startGC(Capability *cap, struct gc_thread_ *gct); void stat_endGC (Capability *cap, struct gc_thread_ *gct, lnat alloc, lnat live, lnat copied, lnat slop, nat gen, nat n_gc_threads, lnat par_max_copied, lnat par_tot_copied); |