RFR: Reclaimed humongous regions should count towards immediate garbage
Zhengyu Gu
zgu at redhat.com
Tue Aug 22 19:19:28 UTC 2017
338 if (region->is_humongous_start()) {
339 assert(region->has_live() ==
heap->is_marked_complete(oop(region->bottom() +
BrooksPointer::word_size())),
340 "Humongous liveness and marks should agree");
341 if (!region->has_live()) {
342 heap->reclaim_humongous_region_at(region);
343 immediate_regions++;
344 immediate_garbage += region->garbage();
345 }
346 }
#343: humongous can have more than one regions, should add all of them here?
-Zhengyu
On 08/22/2017 02:58 PM, Aleksey Shipilev wrote:
> With cycle shortcutting, it matters that we get this right. Humongous objects reclaimed before cset
> construction should be counted as immediate garbage, so that we shortcut more cycles, otherwise we
> do some cycles for almost nothing. For example, in some SPECjvm tests, the immediate garbage in
> humongous regions is responsible for >5% of total garbage, tripping the shortcutting threshold with
> this fix.
>
> Webrev:
> http://cr.openjdk.java.net/~shade/shenandoah/immediate-humongous/webrev.01/
>
> Testing: hotspot_gc_shenandoah, some benchmarks
>
> Thanks,
> -Aleksey
>
More information about the shenandoah-dev
mailing list