Mikolaj/ghc — Issue #2: Fix the GC.c calculations of par_tot_copied
Author: Mikolaj
Created: 2012-03-08 09:57:11+00:00
State: open

15:48 <@mikolaj> it can be fixed by changing the following lines:
15:48 <@mikolaj> rts/sm/GC.c- if (n_gc_threads == 1) {
15:48 <@mikolaj> rts/sm/GC.c- par_max_copied = copied;
15:48 <@mikolaj> rts/sm/GC.c: par_tot_copied = copied;
15:48 <@mikolaj> rts/sm/GC.c- } else {
15:48 <@mikolaj> rts/sm/GC.c: par_tot_copied = copied;
15:48 <@mikolaj> rts/sm/GC.c- }
15:48 <@mikolaj> to read:
15:48 <@mikolaj> rts/sm/GC.c: par_tot_copied = copied;
15:48 <@mikolaj> rts/sm/GC.c- if (n_gc_threads == 1) {
15:48 <@mikolaj> rts/sm/GC.c- par_max_copied = 0;
15:48 <@mikolaj> rts/sm/GC.c: par_tot_copied = 0:
15:48 <@mikolaj> rts/sm/GC.c: }
15:48 <@mikolaj> I checked if we can drop par_tot_copied altogether, but we can't, because it differs from the 'copie
d' field of GCStatsGHC in that it does not contain the 'mutable list', for which we can't determine which core "copie
d" it, as far as I understand, so it'd skew the Parallel GC work balance