From 52567e9d746db8c523885b9491b79302064b4bd8 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Thu, 11 Nov 2010 13:27:27 +0000 Subject: [PATCH] count fizzled and GC'd sparks separately --- rts/Capability.c | 3 ++- rts/Capability.h | 3 ++- rts/Sparks.c | 6 +++--- rts/Stats.c | 10 ++++++---- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/rts/Capability.c b/rts/Capability.c index 9f7d152..bffb735 100644 --- a/rts/Capability.c +++ b/rts/Capability.c @@ -227,7 +227,8 @@ initCapability( Capability *cap, nat i ) cap->sparks_created = 0; cap->sparks_dud = 0; cap->sparks_converted = 0; - cap->sparks_pruned = 0; + cap->sparks_gcd = 0; + cap->sparks_fizzled = 0; #endif cap->f.stgEagerBlackholeInfo = (W_)&__stg_EAGER_BLACKHOLE_info; diff --git a/rts/Capability.h b/rts/Capability.h index e50dba3..2daade8 100644 --- a/rts/Capability.h +++ b/rts/Capability.h @@ -101,7 +101,8 @@ struct Capability_ { nat sparks_created; nat sparks_dud; nat sparks_converted; - nat sparks_pruned; + nat sparks_gcd; + nat sparks_fizzled; #endif // Per-capability STM-related data diff --git a/rts/Sparks.c b/rts/Sparks.c index 2498cb3..8579212 100644 --- a/rts/Sparks.c +++ b/rts/Sparks.c @@ -207,7 +207,7 @@ pruneSparkQueue (Capability *cap) n++; } else { pruned_sparks++; // discard spark - cap->sparks_pruned++; + cap->sparks_fizzled++; } } else if (HEAP_ALLOCED(spark) && (Bdescr((P_)spark)->flags & BF_EVACUATED)) { @@ -217,11 +217,11 @@ pruneSparkQueue (Capability *cap) n++; } else { pruned_sparks++; // discard spark - cap->sparks_pruned++; + cap->sparks_fizzled++; } } else { pruned_sparks++; // discard spark - cap->sparks_pruned++; + cap->sparks_gcd++; } currInd++; diff --git a/rts/Stats.c b/rts/Stats.c index a507147..97661a9 100644 --- a/rts/Stats.c +++ b/rts/Stats.c @@ -638,16 +638,18 @@ stat_exit(int alloc) lnat sparks_created = 0; lnat sparks_dud = 0; lnat sparks_converted = 0; - lnat sparks_pruned = 0; + lnat sparks_gcd = 0; + lnat sparks_fizzled = 0; for (i = 0; i < n_capabilities; i++) { sparks_created += capabilities[i].sparks_created; sparks_dud += capabilities[i].sparks_dud; sparks_converted += capabilities[i].sparks_converted; - sparks_pruned += capabilities[i].sparks_pruned; + sparks_gcd += capabilities[i].sparks_gcd; + sparks_fizzled += capabilities[i].sparks_fizzled; } - statsPrintf(" SPARKS: %ld (%ld converted, %ld dud, %ld pruned)\n\n", - sparks_created + sparks_dud, sparks_converted, sparks_dud, sparks_pruned); + statsPrintf(" SPARKS: %ld (%ld converted, %ld dud, %ld GC'd, %ld fizzled)\n\n", + sparks_created + sparks_dud, sparks_converted, sparks_dud, sparks_gcd, sparks_fizzled); } #endif -- 1.7.10.4