<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    So when a coalesced page gets added back to the free lists it can
    deallocate<br>
    memory even if the neither of the objects coalesced was greater than
    a <br>
    page in size.  Cool.<br></div></blockquote><div><br></div><div style>Exactly.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
    <br>
    Do you see any increase in the sweeping times?  Or the young gen<br>
    collection times?<br></div></blockquote><div><br></div><div>In an internal server test, the total GC pause time (which is mostly the young gen collection times) had a ~3% overhead (while the total execution time had a ~1-2% overhead.) The concurrent sweep time had a ~10% overhead while the whole concurrent collection time (from the beginning of the ininitial mark phase to the end of the reset phase) had a ~3-4% overhead. So, yes. The numbers are not completely noise-free, but these are most likely due to the cost of calling madvise and page reallocation.</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    <br>
    You mention that you don't deallocate the headers of objects on the
    free list.<br>
    Was that because you tried deallocation that included the headers
    and that<br>
    was worse?<br></div></blockquote><div><br></div><div>No, I don't deallocate the header of a free chunk because it contains valid data (the prev, the next pointers, and the size) as it becomes a node in a (doubly-linked) free list.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    <br>
    I'll get feedback from the other GC guys and let you know what we<br>
    want to do.  </div></blockquote><div><br></div><div>Thanks. </div></div><br></div></div>