[Gc] Re: Problems with GC_size_map

Hans Boehm Hans.Boehm at hp.com
Sat Feb 6 13:29:01 PST 2010


I think you're misinterpreting the output here: 0/N blacklisted means
that the section contains N blocks, and none of them are blacklisted.
This number is not completely reliable, since the GC will eventually
drop blacklisted blocks by allocating them as pointerfree.  But the fact
that there are no blacklisted blocks, and I don't see many size 4096
ptrfree blocks either, and most of the free memory is in a few very
laarg blocks suggests that not much blacklisting is going on.

That might be because the tracing is quite accurate, or it might
conceivably be because blacklisting isn't working correctly in
combination with something you're doing.

I do see quite a few pointer-containing blocks on the order of 10KB.
Does that make sense?  If not, it might be worth putting breakpoints
in the allocation path to see where those are coming from.

Hans

On Sat, 6 Feb 2010, Juan Jose Garcia-Ripoll wrote:

> I had forgotten that GC_dump() was part of ECL's interface to the garbage
> collector. The output is below. In addition to this I built a version of
> ECL with statistics and stored the log here  
>  http://tream.dreamhosters.com/exchange/gc_log.txt
> 
> I am a bit worried that already at the beginning GC_dump() shows a set of
> blacklisted roots.
> > (si::gc-dump)
> ***Static roots:
> Total size: 0
> 
> ***Heap sections:
> Total heap size: 4935680
> Section 0 from 0x402000 to 0x442000 0/64 blacklisted
> Section 1 from 0x600000 to 0x83a000 0/570 blacklisted
> Section 2 from 0x83a000 to 0x93f000 0/261 blacklisted
> Section 3 from 0x106000 to 0x10e000 0/8 blacklisted
> Section 4 from 0x97f000 to 0xaad000 0/302 blacklisted
> 
> Why is it so? I a cleared the set of roots because ECL really (except for
> the stack) knows where all roots live. Furthermore, this version of ECL
> is using a bitmap denoting the location of pointers in objects.
> 
> 
> TIA
> 
> Juanjo
> 
> ***Static roots:
> Total size: 0
> 
> ***Heap sections:
> Total heap size: 8904704
> Section 0 from 0x402000 to 0x442000 0/64 blacklisted
> Section 1 from 0x600000 to 0x83a000 0/570 blacklisted
> Section 2 from 0x83a000 to 0x93f000 0/261 blacklisted
> Section 3 from 0x106000 to 0x10e000 0/8 blacklisted
> Section 4 from 0x97f000 to 0xaad000 0/302 blacklisted
> Section 5 from 0x93f000 to 0x94f000 0/16 blacklisted
> Section 6 from 0xaad000 to 0xc45000 0/408 blacklisted
> Section 7 from 0xc85000 to 0xea6000 0/545 blacklisted
> 
> ***Free blocks:
> Free list 1 (Total size 126976):
> 0x88f000 size 4096 not black listed
> 0x892000 size 4096 not black listed
> 0x89b000 size 4096 not black listed
> 0x8cd000 size 4096 not black listed
> 0x915000 size 4096 not black listed
> 0x920000 size 4096 not black listed
> 0x980000 size 4096 not black listed
> 0x982000 size 4096 not black listed
> 0x984000 size 4096 not black listed
> 0x989000 size 4096 not black listed
> 0x98c000 size 4096 not black listed
> 0x98f000 size 4096 not black listed
> 0x991000 size 4096 not black listed
> 0x993000 size 4096 not black listed
> 0x997000 size 4096 not black listed
> 0x99b000 size 4096 not black listed
> 0x99e000 size 4096 not black listed
> 0x9b2000 size 4096 not black listed
> 0x9c1000 size 4096 not black listed
> 0xa1b000 size 4096 not black listed
> 0xa21000 size 4096 not black listed
> 0xa5e000 size 4096 not black listed
> 0xa62000 size 4096 not black listed
> 0xa92000 size 4096 not black listed
> 0xa94000 size 4096 not black listed
> 0xa96000 size 4096 not black listed
> 0xa98000 size 4096 not black listed
> 0xa9b000 size 4096 not black listed
> 0xaa0000 size 4096 not black listed
> 0xaa6000 size 4096 not black listed
> 0x426000 size 4096 not black listed
> Free list 2 (Total size 57344):
> 0x8db000 size 8192 not black listed
> 0x917000 size 8192 not black listed
> 0x925000 size 8192 not black listed
> 0x940000 size 8192 not black listed
> 0x944000 size 8192 not black listed
> 0xa6f000 size 8192 not black listed
> 0x413000 size 8192 not black listed
> Free list 4 (Total size 16384):
> 0x94b000 size 16384 not black listed
> Free list 23 (Total size 94208):
> 0xa7a000 size 94208 not black listed
> Free list 28 (Total size 114688):
> 0x9f8000 size 114688 not black listed
> Free list 32 (Total size 131072):
> 0x9c8000 size 131072 not black listed
> Free list 60 (Total size 3837952):
> 0xaad000 size 1671168 not black listed
> 0xc95000 size 2166784 not black listed
> Total of 4378624 bytes on free list
> 
> ***Blocks in use:
> (kind(0=ptrfree,1=normal,2=unc.):size_in_bytes, #_marks_set)
> (1:8,143)(0:40,102)(6:24,170)(1:8,187)(1:8,284)(1:8,75)(0:48,81)(0:512,6)(0:2245
> 632,1)(0:24,92)(0:32,128)(1:40,90)(0:128,4)(6:16,64)(0:67584,1)(1:5184,1)(6:24,1
> 69)(6:24,170)(6:24,165)(1:2048,1)(6:24,170)(6:32,123)(1:152,9)(6:24,170)(6:24,17
> 0)(6:32,128)(6:24,170)(1:11664,1)(6:24,170)(6:24,170)(0:2528,1)(6:8,1)(6:24,170)
> (6:32,128)(6:24,170)(1:5184,1)(6:24,170)(6:40,68)(1:1360,1)(1:1360,3)(1:1360,1)(
> 1:1360,3)(1:1360,3)(6:48,17)(0:16,46)(0:8,55)(6:32,128)(1:8,374)(6:24,170)(0:136
> 0,3)(1:8,28)(1:8,23)(1:8,35)(1:8,69)(1:8,67)(1:8,61)(1:8,40)(1:8,36)(1:8,32)(1:8
> ,36)(1:8,36)(1:8,33)(1:8,43)(1:8,40)(1:8,35)(1:8,38)(6:32,6)(0:32,77)(6:24,170)(
> 1:32,128)(0:24,26)(0:40,102)(6:24,162)(6:32,128)(1:24,43)(6:64,23)(1:216,1)(0:32
> ,128)(6:24,161)(6:32,128)(6:24,166)(1:248,1)(0:32,75)(0:48,85)(0:40,99)(6:24,150
> )(0:32,128)(1:672,1)(1:40,101)(6:24,165)(1:512,8)(0:48,81)(6:24,169)(1:112,1)(6:
> 48,9)(1:32,124)(1:12288,1)(1:40,99)(6:32,28)(0:40,102)(1:8,65)(1:8,57)(1:8,97)(1
> :8,51)(1:8,47)(1:8,71)(1:8,94)(1:8,38)(1:8,111)(1:8,189)(0:56,73)(1:8,201)(6:24,
> 169)(1:8,190)(1:8,196)(1:8,180)(1:8,33)(0:104,5)(1:8,117)(1:8,160)(6:24,159)(6:2
> 4,12)(1:8,191)(1:8,138)(1:40,97)(0:32,128)(1:8,63)(0:40,99)(6:24,153)(1:8,198)(1
> :8,324)(1:8,187)(1:8,160)(1:8,105)(1:8,74)(1:8,73)(1:8,57)(6:24,168)(1:8,56)(1:8
> ,62)(1:8,67)(1:8,49)(1:8,61)(1:8,28)(1:8,40)(1:8,105)(1:8,43)(1:8,83)(1:8,60)(1:
> 8,37)(6:24,170)(1:672,1)(6:48,2)(6:24,79)(0:40,101)(6:32,81)(0:24,25)(6:24,170)(
> 0:32,122)(0:48,85)(6:24,146)(1:40,102)(0:40,102)(6:32,125)(0:16,18)(0:62528,1)(1
> :8,16)(0:40,80)(1:8,46)(1:8,109)(1:8,103)(1:8,34)(1:8,32)(1:8,49)(6:24,106)(1:8,
> 41)(6:24,116)(1:8,39)(0:48,79)(1:40,92)(1:8,58)(1:8,55)(1:32,1)(1:8,49)(1:8,107)
> (1:8,51)(1:8,107)(1:8,117)(1:8,108)(1:8,125)(1:8,91)(0:48,9)(1:8,107)(1:8,137)(0
> :56,30)(1:8,167)(1:8,126)(6:24,69)(6:24,170)(1:8,144)(0:32,8)(0:24,6)(6:32,2)(1:
> 8,120)(1:8,73)(1:8,82)(1:8,51)(1:8,67)(1:8,74)(1:8,82)(1:8,92)(1:8,79)(1:8,91)(1
> :8,85)(1:8,58)(1:8,80)(1:8,94)(1:8,77)(1:8,86)(1:8,71)(0:32,42)(1:8,50)(1:32,125
> )(1:8,47)(1:8,51)(0:24,4)(0:96,1)(0:24,8)(0:32,10)(6:24,7)(6:80,1)(6:24,169)(1:1
> 60,1)(0:136,1)(1:8,76)(1:8,93)(1:8,79)(1:8,81)(1:8,85)(1:8,35)(0:184,2)(1:32,125
> )(1:8,162)(6:24,164)(0:32,121)(1:11664,1)(1:168,1)(1:40,102)(1:8,199)(1:8,310)(1
> :8,59)(1:8,23)(1:8,35)(1:8,72)(1:8,50)(1:8,66)(1:11664,1)(1:256,16)(1:11664,1)(6
> :24,170)(1:8,219)(1:256,16)(6:24,168)(1:816,1)(1:8,88)(1:8,45)(1:40,102)(0:248,1
> )(0:88,4)(0:200,2)(0:672,2)(0:1360,1)(0:136,1)(0:224,2)(0:232,3)(0:240,2)(1:8,49
> )(1:256,15)(6:24,166)(1:8,86)(1:8,145)(1:8,54)(1:8,101)(1:8,330)(0:32,117)(1:8,3
> 35)(0:24,136)(6:24,167)(6:24,165)(0:32,126)(1:8,147)(1:1360,3)(1:816,2)(6:32,128
> )(1:1360,3)(1:8,324)(6:40,33)(1:64,21)(6:48,31)(0:16,7)(6:32,128)(6:24,167)(1:32
> ,114)(1:8,141)(0:8,77)(6:24,168)(1:8,59)(1:8,61)(1:256,16)(1:8,194)(1:8,54)(1:8,
> 56)(1:8,36)(1:8,65)(1:8,272)(1:120,3)(1:2304,1)(1:88,3)(1:40,95)(6:24,167)(1:8,1
> 38)(0:32,114)(0:40,102)(0:48,85)(1:8,227)(1:48,6)(1:32,128)(1:192,3)(6:24,169)(1
> :8,457)(1:8,101)(1:8,247)(1:512,2)(1:8,366)(0:32,128)(6:24,170)(1:144,2)(0:40,95
> )(0:64,24)(1:1360,3)(0:144,2)(0:512,8)(0:112,2)(0:336,9)(0:72,26)(0:80,24)(6:24,
> 164)(1:56,66)(1:72,2)(1:16,188)(6:32,128)(6:32,128)(1:200,3)(1:136,3)(1:184,1)(1
> :96,3)(6:48,20)(1:8,174)(1:8,102)(6:24,170)(1:8,78)(1:8,76)(1:8,111)(1:8,123)(1:
> 8,136)(1:8,142)(6:24,167)(1:8,103)(1:160,1)(1:40,102)(1:7776,1)(0:16,77)(1:8,76)
> (1:8,56)(1:8,91)(1:8,327)(1:8,86)(6:24,161)(1:8,116)(1:8,161)(1:8,125)(1:104,7)(
> 1:512,4)(1:8192,1)(1:1360,2)(1:8192,1)(1:8,345)(6:48,32)(1:8,186)(1:8,271)(1:8,2
> 29)(1:8,344)(1:1360,3)(0:192,2)(1:8,365)(1:8,345)(1:8,197)(1:8,219)(6:24,170)(1:
> 8,343)(1:8,257)(1:8,264)(1:8,246)(1:8,469)(1:8,511)(1:8,512)(1:8,508)(0:56,64)(1
> :160,1)(1:512,4)(1:8,493)(1:232,1)(6:24,161)(6:32,128)(1:336,9)(1:80,27)(1:128,5
> )(0:160,1)(0:48,84)(0:4200,1)(1:64,64)(1:240,1)(6:64,63)(0:40,102)(1:8192,1)(1:2
> 048,1)(0:152,2)(1:24,157)(0:96,10)(6:80,8)(0:202752,1)(1:49152,1)(1:256,15)(0:62
> 528,1)
> blocks = 434, bytes = 4526080
> 
> ***Finalization statistics:
> 90 finalization table entries; 0 disappearing links
> 0 objects are eligible for immediate finalization
> #P"/Users/jjgarcia/src/ecl/test-bignum.fas"
> 
> --
> Instituto de F?sica Fundamental, CSIC
> c/ Serrano, 113b, Madrid 28006 (Spain)
> http://juanjose.garciaripoll.googlepages.com
> 
>


More information about the Gc mailing list