RFR: Single GCTimer shared by all operations
Roman Kennke
rkennke at redhat.com
Wed Jan 31 11:40:17 UTC 2018
Am 31.01.2018 um 12:28 schrieb Aleksey Shipilev:
> http://cr.openjdk.java.net/~shade/shenandoah/single-gc-timer/webrev.01/
>
> Degenerated GC exposed a wrinkle in our GCTimer handling. Full GC has the separate GCTimer (for
> legacy reasons?). All other operations run with GCTimer from ShHeap. Degenerated GC is peculiar: it
> may start as the usual operation, but then *continue* as upgraded to Full GC. GCTimers then start to
> misbehave with asserts like:
>
> # assert(_phases->length() <= 1000) failed: Too many recored phases?
>
> The solution/cleanup is to use a single GCTimer, basically letting Full GC using the GCTimer from
> ShHeap.
>
> Testing: hotspot_gc_shenandoah
>
> Thanks,
> -Aleksey
>
Seems good. Is there a difference between STWGCTimer and
ConcurrentGCTimer that may fall on our feet?
Roman
More information about the shenandoah-dev
mailing list