RFR: Account trashed regions from coalesced CM-with-UR

Aleksey Shipilev shade at redhat.com
Mon Dec 4 10:32:17 UTC 2017


http://cr.openjdk.java.net/~shade/shenandoah/heuristics-coalesced-trash/webrev.01/

Adaptive CSet selection runs into trouble with coalesced CM-with-UR: final mark would trash the cset
regions from the previous cycle, but that would not get accounted for current CSet sizing. In
extreme cases, it would just make empty CSet, relying solely on immediate garbage:

[10.687s][info][gc     ] GC(9) Pause Init Mark 1.173ms
[10.919s][info][gc     ] Cancelling concurrent GC: Allocation Failure
[10.922s][info][gc     ] GC(9) Concurrent marking 1867M->1985M(2048M) 234.823ms
[10.922s][info][gc,ergo] GC(9) Adjusting free threshold to: 55% (1126M)
[11.011s][info][gc,ergo] GC(9) Adaptive CSet selection: free target = 1228M, actual free = 0M; min
cset = 0M, max cset = 0M
[11.011s][info][gc,ergo] GC(9) Total Garbage: 355M
[11.011s][info][gc,ergo] GC(9) Immediate Garbage: 0M, 0 regions (0% of total)
[11.011s][info][gc,ergo] GC(9) Garbage to be collected: 0M (0% of total), 0 regions
[11.011s][info][gc,ergo] GC(9) Live objects to be evacuated: 0M
[11.011s][info][gc,ergo] GC(9) Live/garbage ratio in collected regions: 0%
[11.011s][info][gc,ergo] GC(9) Free: 0M, 0 regions (0% of total)
[11.011s][info][gc     ] GC(9) Pause Final Mark 88.866ms
[11.011s][info][gc     ] GC(9) Concurrent cleanup 1985M->1075M(2048M) 0.183ms
[11.012s][info][gc     ] GC(9) Concurrent cleanup 1075M->1075M(2048M) 0.719ms

Testing: hotspot_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list