Classify overflowed sparks separately
authorDuncan Coutts <duncan@well-typed.com>
Wed, 1 Jun 2011 18:48:15 +0000 (19:48 +0100)
committerDuncan Coutts <duncan@well-typed.com>
Mon, 18 Jul 2011 15:31:14 +0000 (16:31 +0100)
commitfa8d20e6d85212290b633159b6ef2d77fb1c4021
tree0dd7f7926d2c3a482e451a691f794fde2cae9a38
parent556557ebee2758acade603e25a8a16266dea791d
Classify overflowed sparks separately

When you use `par` to make a spark, if the spark pool on the current
capability is full then the spark is discarded. This represents a
loss of potential parallelism and it also means there are simply a
lot of sparks around. Both are things that might be of concern to a
programmer when tuning a parallel program that uses par.

The "+RTS -s" stats command now reports overflowed sparks, e.g.
SPARKS: 100001 (15521 converted, 84480 overflowed, 0 dud, 0 GC'd, 0 fizzled)
rts/Capability.c
rts/Sparks.c
rts/Sparks.h
rts/Stats.c